一,不要让程序自动创建子窗口,把那相关的Application.CreateForm(<子窗口>)那一句
删掉.创建子窗口,
在菜单事件中加入类似代码:
childform.Create(Application);
childform.Show();二,在子窗口里CLOSE事件中
Action := caFree;//自动释放子窗体实例
三,把子窗口里面的菜单项的Groupindex的值设成与主窗口菜单项中Groupindex
值设成不同就可以了这可以决定它们的顺序。
删掉.创建子窗口,
在菜单事件中加入类似代码:
childform.Create(Application);
childform.Show();二,在子窗口里CLOSE事件中
Action := caFree;//自动释放子窗体实例
三,把子窗口里面的菜单项的Groupindex的值设成与主窗口菜单项中Groupindex
值设成不同就可以了这可以决定它们的顺序。
解决方案 »
- TThreadList问题
- 放分:讨论delphi的一个新论坛:codegear相关技术论坛
- sql语句
- SPCOMM串口通信问题
- 如何在运行不用提示输入数据库的连接用户名和密码?
- 有关dbgrid 的
- webbrowser问题?
- 真心求教:在sql server 中有一个事件探查器程序,我想问一下:用delphi可不可以写一个跟踪sybase数据库访问事件的程序,怎样解决?详看
- 哪位大哥可以把Delphi6目录里的DCC60.DLL发给我,我的坏了,又找不到盘,急。[email protected]
- TStringList的SaveToFile能否把字符串追加在文本后面?
- 如何彻底解决在MainForm中加入图片的问题
- 哪位有取程控交换机话单的编程经验,十万火急
可在程序中检查MDI主窗口的开始事件或菜单中的新建功能,查找建立子窗口的语句,把它们去掉可以取消自动建立子窗口。
解决子窗口关闭:
可在子窗口的ONCLOSE事件中,将ACTION置为CAFREE。
加菜单:
在建立子窗口中菜单时,将其菜单项的GROUPINDEX值置为大于MDI主窗口菜单中菜单项中的最大的GROUPINDEX,可以将菜单结合。
在Forms页,将auto-CreateForms中的
ChildForm转移到 available Forms中
程序运行时不会每次出现子窗口
但要显示子窗口就要
ChildForm := TChildForm.Create(Self)