实际上,这个问题我已经请教过这里的高手了。主要是利用WindowsAPI函数来处理。 下面是个范例:(假设该窗体为Form1) Var notitle: boolean;//这是窗体是否有标题栏的标志 begin if notitle then begin SetWindowLong( Handle,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE) or WS_CAPTION ); Form1.ClientHeight:=Form1.ClientHeight-1; Form1.ClientHeight:=Form1.ClientHeight+1; end else begin SetWindowLong( Handle,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE) and not WS_CAPTION ); Form1.ClientHeight:=Form1.ClientHeight-1; Form1.ClientHeight:=Form1.ClientHeight+1; end; notitle:= not notitle; end; ...... Happy new year!
http://funstudio.coolwww.net
有谁从d_fang手中拿过分数?请告诉我一声。
给分不会吝啬吧.
borderstyle=none;
将bordericons全部置为False;
下面是个范例:(假设该窗体为Form1)
Var notitle: boolean;//这是窗体是否有标题栏的标志
begin
if notitle then
begin
SetWindowLong( Handle,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE) or
WS_CAPTION );
Form1.ClientHeight:=Form1.ClientHeight-1;
Form1.ClientHeight:=Form1.ClientHeight+1;
end
else
begin
SetWindowLong( Handle,GWL_STYLE,GetWindowLong(Handle,GWL_STYLE) and
not WS_CAPTION );
Form1.ClientHeight:=Form1.ClientHeight-1;
Form1.ClientHeight:=Form1.ClientHeight+1;
end;
notitle:= not notitle;
end;
...... Happy new year!
然后,在CreateParams里:
Param->WndStyle |= WS_POPUP;
Param->WndStyle &= ~WS_DLGFRAME;
具体记不清了,就是这个意思
对不起,我没有明白你的题目的意思,现在我明白了,我好像在哪儿见到过解决的方法,不过要到2月16号才能给你答案了。
var hFrom : HRGN;
hFrom := CreateRectRgn(0,19,Width,Height);//这里的19是将标题条的大小
SetWindowRgn(Handle,hFrom,True);
其原理是从新设置窗体的大小。如果对窗体的边框效果不满意的话,可以在OnPaint中画几条阴影线就可以得到想好的三维效果了。
BTW:哪些外观很漂亮的界面大都自己画的。