CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

[ 菜鸟 P Z C ] 一个非常简单的问题 关于MDICHILD窗体的

楼主pzc(pzc)2003-05-02 07:46:04 在 Delphi / VCL组件开发及应用 提问

 
  我建立了一个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

相关问题

  • R(S,C,Z) F={SC--->Z Z---->C}是第几范式?
  • c_z_y(用力)请进:-)
  • 现在学习C#不晚吧,:P
  • 一个C++小问题 :P 郁闷中 ......
  • 关于EXEC master..xp_cmdshell 'bcp "" queryout c:\miClinTemp.txt -c -Sgeonado -Usa -P'问题
  • 在C++中,定义Char *p,使用p=和*p=有什么不同?
  • asp 里面Replace(fString, CHR(10) & CHR(10), "</P><P> "),在asp.net(c#)怎么写
  • c#?!?!?!
  • :)C#
  • C#!!!!!

关键词

  • 界面
  • 代码
  • application
  • 窗体
  • mdichild
  • tchildform
  • child
  • 彩旦
  • 最小化
  • 鸟

得分解答快速导航

  • 帖主:pzc
  • Maxwell
  • Maxwell
  • Maxwell
  • Maxwell

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo