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

如何控制窗口的最小化?

楼主myxxyy(学习者)2001-04-19 21:16:00 在 Delphi / VCL组件开发及应用 提问

        我想对窗口的最小化做出规定:指定最小化后的窗口的大小、位置,而不是通常的消失。在《程序员大本营2000》中有“限制窗口最大化范围”,提供的过程:WMGetMinMaxInfo()无法定制最小化窗口,这可能也是其标题中不提最小化的原因。  
          请问还有没有别的方法? 问题点数:50、回复次数:12Top

1 楼wanwangzhiwang(万王之王)回复于 2001-04-19 22:12:00 得分 0

你可以设置窗体的constraints属性,设置minheight,minwidth不为零就行了!至于位置,可以设置窗体的position属性!Top

2 楼rh(花覆茅檐)回复于 2001-04-19 23:11:00 得分 40

我现写了一个,你看看:  
  unit   Unit1;  
   
  interface  
   
  uses  
      Windows,   Messages,   SysUtils,   Classes,   Graphics,   Controls,   Forms,   Dialogs;  
   
  type  
      TForm1   =   class(TForm)  
      private  
          {   Private   declarations   }  
          procedure   WMSysCommand(var   Message:   TWMSysCommand);   message   WM_SysCommand;//在这里定义消息映射函数  
      public  
          {   Public   declarations   }  
      end;  
   
  var  
      Form1:   TForm1;  
   
  implementation  
   
  {$R   *.DFM}  
   
  procedure   TForm1.WMSysCommand(var   Message:   TWMSysCommand);  
  begin  
      if   message.CmdType   =   SC_MINIMIZE   then  
      begin  
          showMessage('hahahaha!!!我靠!!!有本事你最小化我啊!!!!!');  
          //在这里做你想做的  
          //比如你希望的“指定最小化后的窗口的大小、位置”  
      end     else  
      begin  
          inherited;//若不是最小化消息,就返回消息,否则拦截之  
      end;  
  end;  
   
  end.Top

3 楼playsong(浪子)回复于 2001-04-20 10:12:00 得分 0

加分!Top

4 楼Apollo47(阿波罗)回复于 2001-04-20 10:54:00 得分 10

窗体最小化后出现在屏幕的左下角:  
      if   message.CmdType   =   SC_MINIMIZE   then  
      begin  
          form1.Height   :=form1.Constraints.MinHeight   ;  
          form1.Width   :=Form1.Constraints.MinWidth;  
          form1.Left   :=0;  
          form1.Top   :=Screen.Height   -Form1.Height;  
      end  
  还可以通过改变   MinWidth   ,MinHeight   的值控制窗体的大小。Top

5 楼Sachow(SC)回复于 2001-04-20 11:04:00 得分 0

rh这次倒是没有灌水嘛。:)Top

6 楼natrium11(我是一只小小小小鸟)回复于 2001-04-20 11:38:00 得分 0

hehe,不要忘了状态栏哦  
  FindWindow('Shell_TrayWnd','')得到它,把它的Height也算进去。Top

7 楼rh(花覆茅檐)回复于 2001-04-20 11:46:00 得分 0

2   :Sachow(有助)   
  …………  
  showMessage('hahahaha!!!我靠!!!有本事你最小化我啊!!!!!');//这也是灌水啊:)  
          Top

8 楼myxxyy(学习者)回复于 2001-04-29 21:41:00 得分 0

我的问题已经解决了————  
  我突然发现我不知道该怎样打分了?!  
  而这在老的CSDN中很显然的。Top

9 楼manboo(我从山中来)回复于 2001-04-29 23:39:00 得分 0

来晚了!最近为感情而苦恼!Top

10 楼myxxyy(学习者)回复于 2001-05-04 22:34:00 得分 0

我的问题已经解决了————  
  我突然发现我不知道该怎样打分了?!  
  而这在老的CSDN中很显然的。   Top

11 楼myxxyy(学习者)回复于 2001-05-04 22:35:00 得分 0

我的问题在各位帮助下已经解决了————  
  我突然发现我不知道该怎样打分了?!  
  而这在老的CSDN中很显然的。   Top

12 楼myxxyy(学习者)回复于 2001-05-04 22:36:00 得分 0

我的问题在各位帮助下已经解决了————  
  我突然发现我不知道该怎样打分了?!  
  而这在老的CSDN中很显然的。    
          告诉我怎样给你们打分?这是最后的问题.Top

相关问题

  • 如何用键盘控制窗口最大,最小化
  • 如何最小化窗口?
  • 如何最小化窗口
  • 请问如何让vb 控制其它程序的窗口取大最小化
  • 如何模拟窗口最小化?
  • 如何把窗口最小化
  • 如何最小化所有窗口?
  • javaScript 如何最小化窗口。??急急
  • VB中如何最小化窗口?
  • 请教:如何最小化窗口

关键词

  • csdn
  • 解决
  • 消息
  • 最小化
  • 窗体
  • minheight
  • minwidth
  • form1
  • tform
  • 老的csdn中很显然

得分解答快速导航

  • 帖主:myxxyy
  • rh
  • Apollo47

相关链接

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

广告也精彩

反馈

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