自制组件出现问题,无法将组件放置到窗体中。“Control ''has no parent window.”,这是为何?

有哥 2002-07-05 10:09:36
我从TWinControl派生的,在只有一个StringGrid时是正常的,我的测试程序未曾删除过它,一直正常运行至今。现在感觉差不多了,想把它实际运用到最终程序中,添加此组件时,却出现上述提示框,无法添加到窗体中。
即使在一直正常运行着的测试程序中也无法加入,但最初添加的那个却能正常工作。

我估计是可能是组件的构造函数有问题,但又不明白哪儿有错,希望高手帮我看看。

__fastcall THGrid::THGrid(TComponent* Owner)
: TWinControl(Owner)
{
Grider=new TStringGrid(this);
Combo=new TComboBox(this);
Header=new THeaderControl(this);
Editor=new TEdit(this);
ma= Header->Sections->Add();
ma->Text = "材料";
mb= Header->Sections->Add();
mb->Text = "数量";
mb->AutoSize =true;
Grider->Parent=this;
Header->Parent=this;
Editor->Parent=this;
Combo->Parent=this;
Editor->Visible =false;
Header->Visible =true;
Header->Align=alTop ;
Header->Style =hsFlat ;
Combo->Visible =false;
Editor->OnExit=FOnEditorLeave;
Grider->OnEnter=FOnGridEnter;
}
...全文
398 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
e_cat 2002-07-06
  • 打赏
  • 举报
回复
设计期和运行期的问题,很可能
耙子 2002-07-06
  • 打赏
  • 举报
回复
你用一下Create比较好,然后在Create代码里面设定一个断点,然后单布就方便了。
钛哥 2002-07-06
  • 打赏
  • 举报
回复
up
有哥 2002-07-06
  • 打赏
  • 举报
回复
BCB_FANS(四大名捕之追杀令) 的办法是可行的。
bcb_fans 2002-07-06
  • 打赏
  • 举报
回复
提供一个建议: 重载函数CreateHandle,然后把构造函数中的那些代码移到
CreateHandle中,如下所示:

void __fastcall THGrid::CreateHandle(void)
{
TWinControl::CreateHandle();

Grider=new TStringGrid(this);
Combo=new TComboBox(this);
Header=new THeaderControl(this);
Editor=new TEdit(this);
ma= Header->Sections->Add();
ma->Text = "材料";
mb= Header->Sections->Add();
mb->Text = "数量";
mb->AutoSize =true;
Grider->Parent=this;
Header->Parent=this;
Editor->Parent=this;
Combo->Parent=this;
Editor->Visible =false;
Header->Visible =true;
Header->Align=alTop ;
Header->Style =hsFlat ;
Combo->Visible =false;
Editor->OnExit=FOnEditorLeave;
Grider->OnEnter=FOnGridEnter;
}

------------

我也不知道怎么回事,上面只是建议,不保证其正确性.
钛哥 2002-07-06
  • 打赏
  • 举报
回复
RegisterComponents()
函数加上没有?
有哥 2002-07-05
  • 打赏
  • 举报
回复
是在设计阶段出错,还没试过用create(self)。
耙子 2002-07-05
  • 打赏
  • 举报
回复
正巧我也在写控件所以比较关心.

你的意思是在设计阶段把控件拖放到form上出错对吗?

程序里面用 xxx.create(self)也会出错吗?

13,874

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧