郁闷啊,在Form.OnShow事件里不能初始化对象吗?

shadowstar 2009-11-07 04:57:01
procedure TMainForm.FormShow(Sender: TObject);
begin
ProjectFrame.InitializeControls;
end;

跟踪进去是正常的,但窗口出来之后菜单又是空的。

放个Button同样执行上面的一句代码,一切正常。

OnShow事件之后到底又干了点啥?
...全文
89 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shadowstar 2009-11-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dinoalex 的回复:]
ProjectFrame是什么?
[/Quote]
只是一个Frame,这个无关紧要。

问题解决:

把这几句代码从OnCreate事件里移到OnShow事件就可以了。

procedure TMainForm.FormShow(Sender: TObject);
begin
ProjectFrame := TProjectFrame.Create(Self);
ProjectFrame.Parent := pnlLeft;
ProjectFrame.Align := alClient;
ProjectFrame.InitializeControls;
end;


谁来解释一下!
iseekcode 2009-11-07
  • 打赏
  • 举报
回复
onshow后可不就是onactive么?
对系统消息不甚了解,编程不求甚解,如果在oncreate或onshow里搞不定的事情,我就在onactive里干,还搞不定,就在onshow里引爆一个intervalue为100左右的定时器,再接着干,懒得去探索...
dinoalex 2009-11-07
  • 打赏
  • 举报
回复
组件设拥有者没有? 可视设了没有?
dinoalex 2009-11-07
  • 打赏
  • 举报
回复
ProjectFrame是什么?

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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