哪个大虾能在子窗口已经生成后去掉标题和加上标题?(50分)

  • 主题发起人 主题发起人 江远
  • 开始时间 开始时间

江远

Unregistered / Unconfirmed
GUEST, unregistred user!
子窗口在生成时不加上标题的不算
 
???
这个窗体的caption 指定一下就可以吧!
 
我是根本不想要标题栏,主要是嫌它占用了太多界面的地方.
 
public
tmp:integer;
....
procedure TForm1.FormCreate(Sender: TObject);
begin
tmp:=height-clientheight;
end;

//取消标题栏
procedure TForm1.Button1Click(Sender: TObject);
begin
SetWindowLong(Handle,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE) AND NOT WS_CAPTION);
ClientHeight:=ClientHeight+tmp;
end;

//显示标题栏
procedure TForm1.Button2Click(Sender: TObject);
begin
SetWindowLong(Handle,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE) OR WS_CAPTION);
ClientHeight:=ClientHeight-tmp;
end;

不过效果不是很好,自己试试。
 
主要代码应该是这个:
SetWindowLong(Handle,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE) OR WS_CAPTION);

如果窗口动态生成可以考虑用 CBT Hook
 
我试试你们的方法,很快有回音。 同时谢谢各位!
 
如果你根本就不想要标题栏
为什么不直接把form的bordeystyle属性设制成bsnone呢
这样在程序运行的时候,生成的form就不会带有标题栏了
:)
 
QuickSilver的方法可以实现(不过Jsxjd对我也有一些帮助)。
Wyxin2001的方法不可行。因为指定子窗口的BORDERSTYLE是没用的。你可以试一试。
谢谢QuickSilver ,谢谢各位
 
后退
顶部