关于子窗口的显示

icegirl914 2010-08-12 11:38:13
我现在想要把几个大的子窗口显示在主窗口的一个TPanel上,我试了用这种方法显示:
procedure TMainFrm.dbInventoryInfoClick(Sender: TObject);
begin
if OldForm is TInventoryInfoFrm then Exit;

DoChangeForm(TInventoryInfoFrm.Create(nil));
end;


procedure TMainFrm.DoChangeForm(NewForm: TForm);
begin
if Assigned(OldForm) then
FreeAndnil(OldForm);

OldForm := NewForm;
OldForm.Align := alClient;
OldForm.BorderStyle := bsnone;
OldForm.Parent := plRight;
OldForm.Show;
end;

但是在显示TInventoryInfoFrm的时候发现窗口很晃,我想问一下有什么好点的办法来实现,最好不要使窗口这么晃动。
...全文
72 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
icegirl914 2010-08-13
  • 打赏
  • 举报
回复
谢谢两位朋友,我试试,先结贴。
bdmh 2010-08-12
  • 打赏
  • 举报
回复
你不要
if Assigned(OldForm) then
FreeAndnil(OldForm);
这样每次释放,创建,显示,肯定感觉不好,你把你创建的窗体维护在一个列表中,只创建一次,然后添加到列表,下次用时,到列表中找,找到后BringToFront
kye_jufei 2010-08-12
  • 打赏
  • 举报
回复
可使用基類或者繼承的方法...

5,392

社区成员

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

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