怎么样让窗体只能拖大不能缩小呀?(20分)

  • 主题发起人 主题发起人 zengguocai
  • 开始时间 开始时间
Z

zengguocai

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么样让窗体只能拖大不能缩小呀?
就像QQ那样的.窗体到了一定大小后.就只能拖大不能缩小了,要怎么样才能达到这样的目的呀?谢谢大家的回答.
 
窗体的Constraints属性

设置其
MaxHeight 最大高度
MaxWidth 最大宽度
MinHeight 最小高度
MinWidth 最小宽度
 
谢谢..
这个好像还是和在改变窗体大小的事件里写几句代码没区别.
但我是想达到QQ上面的功能..不让窗体有缩小的动作.那样窗体里面有些控件会乱乱的..
 
procedure TForm1.FormResize(Sender: TObject);
begin
if Self.Width<500 then
Self.Width:= 500;
if Self.Height<500 then
Self.Height:= 500;
end;
 
一样的意思呀..你看看QQ的窗体..当大小达到指定大小时. 拖动鼠标时窗体根本就没有缩小的动作..
而两位朋友的目的达不到...当鼠标拖动时.窗体还是会有缩小的动作..然后在反弹回来..
 
那你在消息你处理把·~~
 
试下这段

procedure FormMsg(var Msg: TMessage); message WM_SYSCOMMAND;


procedure TFrmMain.FormMsg(var Msg: TMessage);
begin //最小化
case Msg.WParam of
// SC_MINIMIZE: ;
// SC_MAXIMIZE: ;
61490: ; //双击标题栏最大化的
61441..61448: ; //拖动窗体边框的 这些值的定义是什么,我不知道,只知道拖放时产生的消息值是这些之间的
else inherited; // 执行默认动作
end;
end;
 
用WM_GetMinMaxInfo消息即可。

procedure WMGetMinMaxInfo(var MSG: Tmessage); message WM_GetMinMaxInfo;

procedure TMainForm.WMGetMinMaxInfo(var MSG: Tmessage);
begin
inherited;
with PMinMaxInfo(MSG.lparam)^ do
begin
with ptMinTrackSize do //设置最小尺寸
begin
X:=630;
Y:=472;
end;
end;
end;
 
procedure WMGetMinMaxInfo(var MSG: Tmessage); message WM_GetMinMaxInfo;

procedure TMainForm.WMGetMinMaxInfo(var MSG: Tmessage);
begin
inherited;
with PMinMaxInfo(MSG.lparam)^ do
begin
with ptMinTrackSize do //设置最小尺寸
begin
X:=最小的width;
Y:=最小的Height;
end;
end;
end;
 
不是已经给过分了么.怎么又顶出来了.难道是我给分的时候操作失误了..
 
多人接受答案了。
 
后退
顶部