谁能出手?(30分)

  • 主题发起人 主题发起人 ilovedelphi3
  • 开始时间 开始时间
I

ilovedelphi3

Unregistered / Unconfirmed
GUEST, unregistred user!
使用过DELPHI的朋友都会注意到DELPHI本身最上面的窗口(或者它的程序
编辑窗口),当它极大时只占屏幕的一小部分,它是如何实现的呢?

小弟在网络上看到一段程序,现摘录如下:
procedure TForm1.WMGetMinMaxInfo( var Message :TWMGetMinMaxInfo );
begin
with Message.MinMaxInfo^ do
begin
ptMaxSize.X := 200
{最大化时宽度}
ptMaxSize.Y := 200
{最大化时高度}
ptMaxPosition.X := 99
{最大化时左上角横坐标}
ptMaxPosition.Y := 99
{最大化时左上角纵坐标}
end;
Message.Result := 0
{告诉Windows你改变了 minmaxinfo}
inherited
//请问这句干啥用?
end;

另外,还应该在在FORM私有声明部分加上过程声明,可惜
被我遗漏了,请高手们帮我补这一句声明。

谢谢!
 
大概是:

procedure WMGetMinMaxInfo( var Message:TWMGetMinMaxInfo )
message WM_GETMINMAXINFO;
 
inherited

执行Form类的公操作
 
如果说要实现功能的话
可以直接在设计期定义
Form的属性 Constraints/Maxheight 为 你想设置的最大宽度
 
THANK YOU!!!
 
应该是截取WINDOWS发的最大化信息然后加入自己的处理方式吧。In...是继承。
 
Form属性本来就有。Constraints下Maxheight Maxwigth..设为0则是默认状态
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部