[ 菜鸟 P Z C ] 一个非常简单的问题 关于MDICHILD窗体的
我建立了一个MDI的窗体,我希望点击彩旦时,MDI内出现MDICHILD窗体,该
CHILID窗体没有标题栏,
可是,我一运行,所有的CHLID窗体都直接显示了,怎么改啊
问题点数:20、回复次数:16Top
1 楼Maxwell(不可知)回复于 2003-05-02 07:57:16 得分 5
child 窗口不能让程序自动生成,需要从project|options中把child 窗口去掉。在显示的时候用
var
child: TChildForm;
child := ChildForm.Create(Application);
创建
用
free;
关闭Top
2 楼pzc(pzc)回复于 2003-05-02 11:05:52 得分 0
o 谢谢,果然是高手啊Top
3 楼pzc(pzc)回复于 2003-05-03 07:18:16 得分 0
我原来是这样的
点击彩旦 然后用formname.show 来显示该form
可是按你说的把他们formstyle 改为 mdichild
在option 里面从autocreate中去掉
运行的时候就出了问题
而且
child:tchildform一句 居然说tchildform没有声明?!为什么啊Top
4 楼pzc(pzc)回复于 2003-05-03 08:49:15 得分 0
我现在需要这样一个模式
运行程序,首先是密码登陆框
然后出现主界面
点击菜单
出现相应的form,该form占满整个主界面,好象就是主界面的一部分
点击另一个彩旦,刚才的FORM关闭 打开新的form 该form跟刚才一样占满整个主界面
该怎么安排MDIMAINFORM 和childform啊??
Top
5 楼Maxwell(不可知)回复于 2003-05-03 09:24:43 得分 5
TChildForm 要用你的Child 窗口类的名字代替。
你说的意思是占满主窗口的客户区?
按照一般的窗口的思路做就可以。
具体代码我一会儿给你贴出来。Top
6 楼pzc(pzc)回复于 2003-05-03 10:39:28 得分 0
谢谢你啊,我真是个菜鸟 我等着你Top
7 楼Maxwell(不可知)回复于 2003-05-03 10:51:38 得分 5
var
child2: TForm2;
child3: TForm3;
procedure TForm1.a1Click(Sender: TObject);
begin
child2 := TForm2.Create(Application);
end;
procedure TForm1.b1Click(Sender: TObject);
begin
child2.Free;
child3 := TForm3.Create(Application);
end;
代码大约这样吧,要最大化可以设置child 窗口的属性,另外,我在98 下这段代码没有问题,在xp 下以前child2.Free 有时会没有用,或许是我当时写的有问题,你自己看看吧。Top
8 楼pzc(pzc)回复于 2003-05-03 11:05:29 得分 0
谢谢啊,我回去试验一下Top
9 楼xinghai09(啊渣中的精英)回复于 2003-05-03 11:21:48 得分 0
我来学习Top
10 楼pzc(pzc)回复于 2003-05-03 12:23:32 得分 0
我实验了一下,好象只能最小化,怎么办啊,不能把那个FORM关闭啊?!Top
11 楼Maxwell(不可知)回复于 2003-05-03 12:27:16 得分 5
你是说点关闭按钮吗?
在OnClose 事件里面
Free;
就可以了。Top
12 楼pzc(pzc)回复于 2003-05-03 14:45:51 得分 0
o 我知道了,我再实验一下,呵呵,菜鸟就是没有办法
什么都不懂,不会烦了吧Top
13 楼ZbDerek(漠北)回复于 2003-05-03 15:10:25 得分 0
应该是
action:=cafree;Top
14 楼Maxwell(不可知)回复于 2003-05-03 22:57:17 得分 0
action := caFree;
也是可以的,
Free;
同样能完成任务。Top
15 楼Maxwell(不可知)回复于 2003-05-03 23:08:08 得分 0
在MDI 中,如果child 窗口有最小化按钮的话,在关闭窗口时默认行为是最小化,在OnClose 事件中指定
action := caFree
可以改变默认的行为的。
action 的其他取值还有caNone、caHide、caMinimize 三种,含义都很明显,就不解释了。Top
16 楼pzc(pzc)回复于 2003-05-04 08:09:15 得分 0
hoho 这下清楚了,我在ONCLOSE事件中用了FREE,好象是关闭了,呵呵,谢谢啊
可是我还有个问题
http://expert.csdn.net/Expert/topic/1728/1728634.xml?temp=.3010675
这个一直没有解决,呵呵,高手们帮帮小菜鸟,
这里不能贴图,不然我把屏幕上的东西贴上来,呵呵
Top




