如何在关闭主窗口时关闭所有MDI子窗口?

13023600339 2001-07-13 03:00:14
我的程序中使用了一些MDI子窗口,只有一个子窗口在程序开始建立时便打开,其它子窗口在程序运行时动态建立。现在我想做到的是在关闭主窗口时关闭所有子窗口,与是我用如下语句实现:
for a1:=MdiChildCount downto 0
do ActiveMDIChild.Close;
但总有一个子窗口不能关闭,为什么?
...全文
234 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
myxfang 2001-07-18
  • 打赏
  • 举报
回复
模拟按f10即可下拉菜单
PostMessage(Handle, WM_KEYDOWN, vk_F10, 0);
PostMessage(Handle, WM_KEYUP, vk_F10, 0);
如果还要向右移的话
PostMessage(Handle, WM_KEYDOWN, vk_Right, 0);
PostMessage(Handle, WM_KEYUP, vk_Right, 0);
然后按回车
tollxu 2001-07-18
  • 打赏
  • 举报
回复
begin
appilication.terminate;
end;
13023600339 2001-07-18
  • 打赏
  • 举报
回复
最简单吧:能不能在打开窗口时便模拟按一下菜单?
delphi_user 2001-07-17
  • 打赏
  • 举报
回复
能把打开窗口的代码贴出来吗
bubble 2001-07-17
  • 打赏
  • 举报
回复
使用Release试试
myxfang 2001-07-17
  • 打赏
  • 举报
回复
这样吧,你简单给我一个例子,我帮你调
myxfang@sina.com
13023600339 2001-07-17
  • 打赏
  • 举报
回复
我的子窗口确实是最大的
13023600339 2001-07-16
  • 打赏
  • 举报
回复
关注
13023600339 2001-07-16
  • 打赏
  • 举报
回复
问题解决了,但还有一个问题很奇怪。我设置了MDI父窗口的WINDOWSMENU属性,这样在父窗口菜单栏中便能看见当前打开的MDI子窗口了。但当我运行程序时,一开始弹出作为主界面的MDI子窗口却在菜单栏中不可见,打开另一个MDI子窗口时有时可见有时不可见,如果不可见,需关闭再打开才可在菜单中见到,怎么回事?
myxfang 2001-07-16
  • 打赏
  • 举报
回复
for a1:=MdiChildCount - 1 downto 0 do
begin
MDIChildren[0].Free;
end;
myxfang 2001-07-16
  • 打赏
  • 举报
回复
for a1:=MdiChildCount - 1 downto 0 do
begin
MDIChildren[i].Free;
MDIChildren[i]:= nil;
end;
myxfang 2001-07-16
  • 打赏
  • 举报
回复
用WuHeHai(河海)方法试试如何?
那个是不是子窗体?
我试过都可以
13023600339 2001-07-16
  • 打赏
  • 举报
回复
大家没听懂我的意思,我的子窗口中有一个是我特意设为不关闭的,是作为主界面使用。现在的问题是可能子窗口的计数器有问题,我关闭所有子窗口,但还有一个未关(除了我用作主界面的那个)
myxfang 2001-07-16
  • 打赏
  • 举报
回复
MDI子窗口给他最大化不就行吗
13023600339 2001-07-16
  • 打赏
  • 举报
回复
问题有一个解决办法,就是在每次进入程序时在模拟点击一下菜单,如何模拟呢?
lwk_hlj 2001-07-13
  • 打赏
  • 举报
回复
是的,你把不是动态创建的那个窗口的close事件中的action:=cafree;
WuHeHai 2001-07-13
  • 打赏
  • 举报
回复
for a1:=MdiChildCount - 1 downto 0 do
begin
ActiveMDIChild.Free;
ActiveMDIChild := nil;
end;
kylix2001 2001-07-13
  • 打赏
  • 举报
回复
在程序开始建立时便打开的子窗口是不能被Close方法所关闭的。
你象楼上所说的那样吧,在子窗口的onClose事件中 ,action := caFree;
enlightenment 2001-07-13
  • 打赏
  • 举报
回复

有没有:

0 to MdiChildCount-1 ???

action:=caFree; ???


5,388

社区成员

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

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