MDI父子窗体问题 ( 积分: 50 )

  • 主题发起人 主题发起人 dxy871124
  • 开始时间 开始时间
D

dxy871124

Unregistered / Unconfirmed
GUEST, unregistred user!
如何通过控制Windows消息机制,使相同的子窗体只能打开一次.
 
判断已打开窗口的ClassName与要创建窗口的ClassName是否相同。相同则不创建。
screen.Forms中有记载已经创建的Form,如果用DLL做MDI,应该至少要导出DLL中Form的句柄,再通过自定义消息来处理。
 
自定义一个TFormList类,包含子窗体的Name、FormHandle、Caption等属性,定义TFormList.AddChildForms,TFormList.RemoveChildForms,及TFormList.ShowChildForms等方法来维护你要打开或关闭的子窗体,在父窗口中要创建子窗口都调用这个类来实现。
具体点比如在AddChildForms方法中,先判断当前要添加的窗体在列表中是否存在,若不存在则创建之,添加到列表,否则不创建,直接Show
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
886
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部