关于form的问题(50分)

  • 主题发起人 主题发起人 EdwardZhou
  • 开始时间 开始时间
E

EdwardZhou

Unregistered / Unconfirmed
GUEST, unregistred user!
我的form的borderstyle为bsnone,主要是我不想要标题栏,可是我想允许调整form的大小,怎么办?
 
procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong(Handle,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE) AND NOT WS_CAPTION);
ClientHeight:=Height;
end;

 
不设置为 bsnone ,然后按上面的处理
 
同意QuickSliver的观点,似乎只有这样才能达到你所说的效果呀。
而无论formstyle的值为什么。
procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong(Handle,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE));
ClientHeight:=400;
end;
同样能实现无标题栏。

 

设置窗体为bssizable
caption=""
最大化和最小化等都去掉

 
再用
SetWindowLong(Handle,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE) AND NOT WS_CAPTION);
ClientHeight:=Height;
 
截WM_NCHITTEST
如:
if loword(msg.LParam)= Left then
msg.Result:= HTLEFT;
其它可以看help
 
谢谢诸位,我爱大富翁!
 
后退
顶部