为什末没有人回答我的问题?new一个Form和CreateForm的区别是什末?

gegegeg 2003-05-02 02:56:47
我在窗体TfPublicFunc中动态增加一个分割条控件:

void __fastcall TfSzoilSubSys::P_WATCHClick(TObject *Sender)
{
if(fPublicFunc == NULL)
Application->CreateForm(__classid(TfPublicFunc), &fPublicFunc);
fPublicFunc->Show();
}

void __fastcall TfPublicFunc::FormCreate(TObject *Sender)
{
Splitter1=new TSplitter(fPublicFunc);
Splitter1->Parent=fPublicFunc;
Splitter1->Color=0x7fffffff;

}
//------------------------------------------------------------------------
结果分割条出不来,如果我把Application->CreateForm(__classid(TfPublicFunc), &fPublicFunc);替换为Application->CreateForm(__classid(TfPublicFunc), &fPublicFunc);就可以了。为什末呢?
new一个Form和CreateForm的区别是什末?
请大虾指教。
...全文
34 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shadowstar 2003-05-02
  • 打赏
  • 举报
回复
void __fastcall TfPublicFunc::FormDestroy(TObject *Sender)
{
delete Splitter1;
}
afei2002 2003-05-02
  • 打赏
  • 举报
回复
除啦主窗口以外,不要使用CreateForm创建新窗体~~
Siney 2003-05-02
  • 打赏
  • 举报
回复
基本上:
CreateForm后form的Parent是Application,并且会将第一个用CreateForm创建的form当作主窗体.

但是不建议你用这个函数,还是用new吧.
ThinkX 2003-05-02
  • 打赏
  • 举报
回复
CreateForm是Delphi留给BCB的诟病之一,不要使用。
要用new
cdwy411 2003-05-02
  • 打赏
  • 举报
回复
关注!
hellobcb 2003-05-02
  • 打赏
  • 举报
回复
创建的时机不一样!
qibo999 2003-05-02
  • 打赏
  • 举报
回复
你怎么发了这么多相同贴?这不是浪费分吗?
那就接分了,呵呵 :-)
编译失败 2003-05-02
  • 打赏
  • 举报
回复
???????

這兩句不是一樣的嗎?不懂!

13,825

社区成员

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

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