mdi调用子窗口出问题(100分)

  • 主题发起人 主题发起人 pacificsand
  • 开始时间 开始时间
P

pacificsand

Unregistered / Unconfirmed
GUEST, unregistred user!
我用MDI编程。在MAINFORM上加个菜单,希望从菜单驱动,显示子窗口。
在菜单上选一项单击,在ONCLICK事件中编程:
VAR
SHOWCHILDFORM:TSHOWCHILDFORM;
BEGIN
SHOWCHILDFORM:=TSHOWCHILDFORM。CREATE(APPLICATION);
//或application.CreateForm(tfrmyhkl,frmyhkl)也不行
SHOWCHILDFORM。SHOWMODAL;
END;



能显示子窗口,但接着就有个提示框:
RAISED EXCEPTION CLASS EINVALIDOPERATION WITH MESSAGE’CAN NOT MAKE A

VISIBLE WINDOW MODAL!‘。
 
用。show试试
 
MDI child window是不能SHOWmodal的,你把FORMSTYLE设置成fsMdiChild后,form的
Visible属性就成TRUE了,想改也不行,所以没法ShowModal,如果想ShowModal,就别用
MDIChild Form。
 
主窗口 FormStyle 设为 fsMDIForm。
子窗口 FormStyle 设为 fsMDIChild。
直接一句话就可以了:SHOWCHILDFORM:=TSHOWCHILDFORM.CREATE(Self);
 
经过实验,正如前两位所说,谢谢!
 
经过实验,与前两位的说法一致,谢谢大家!
 
因为不可以,MDI子窗,在创建之后就已经显示了(即其Visible = True),
强制使用ShowModal当然出现该异常。
 
在IDE界面设置子窗口不可见:
MdiChild.Visible:=False;
 
是VISIBLE=TRUE和SHOWMODAL的冲突!!!
 
>> 经过实验,正如前两位所说,谢谢!

那就分钱啊。:-P
 
顺便问一句,可不可以将动态生成的子窗体(每个子窗体都不一样)放在主窗体
的一个panel控件上?用parent好象比可以。

有帮助的话,我可以另外给分。
 
算了,我改用Frames了。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
543
import
I
I
回复
0
查看
543
import
I
后退
顶部