紧急求救,我赶工期:我想控制MDI窗口的大小及出现位置。该怎么做?MDI全部通过form1继承(200分)

  • 主题发起人 主题发起人 filter
  • 开始时间 开始时间
F

filter

Unregistered / Unconfirmed
GUEST, unregistred user!
在主菜单fsMDIForm中,除菜单外,左下还要放个panel,所创建的mdi窗口最大化及位移均不能越过
panel1.我写的mdi父类中create这样写的
Top:=frmMAIN.coobl1.top+frmMAIN.coobl1.height+1;//控制mdi的tpp
Left:=FrmMain.panel1.left+FrmMain.panel1.width;//控制mdi的left
form1.brush.bitmap:=image1.picture.bitmap//控制背景
但它只能放置mdi的初始位置
父类form1放在auto-create中创建,这样每次启动时就会出现一个我不想显示的的父类窗口
,但如果不放在auto-create中,就会出现我在点击button时,由于父类未创建,致始程序
出错。
我的问的是
1、如何在隐藏mdi父类时,正常显示所有的子类mdi。难道要将父类的visble为flase,所有
的子类再分别调写其visble为ture.
2、每弹出一个mdi窗口,我就在主菜单的windows项中写入一个mdi的caption,第一项只能
是我不需要的mdi父类吗?
3、如何控制mdi,让其不能越过panel?

 
糊涂,看看别人怎么说.
见笑.
 
因为不知道所以才问啦
 
coobl和panel应该都有个anchors属性,可以设置它和form的相对固定位置。设置后再设
置MDI Form的windowState就行了吧。
 
不行,拖动时MDI窗口仍伸进了panel,并被遮住
 
第一个问题有误:可以直接创建子类而不需要先创建父类。包括MDI,我就是这样用的。
第二个不明白。
 
Panel也有anChors属性。
 
1、如何在隐藏mdi父类时,正常显示所有的子类mdi。难道要将父类的visble为flase,所有
的子类再分别调写其visble为ture.
答:所有MDI子窗口不以设置VISIBLE为FALSE,一旦CREATE即为TRUE。如果你的子类子窗口
是通过DELPHI的表单继承创建的,父类并不需要Create。
2、每弹出一个mdi窗口,我就在主菜单的windows项中写入一个mdi的caption,第一项只能
是我不需要的mdi父类吗?
答:同上
3、如何控制mdi,让其不能越过panel?
答:在主窗口的Panel设置Align 为LEFT即可。
 
后退
顶部