在 Delphi中隱藏窗體的標題欄,相信大家都會說是一個件十分容易的事情,只需要設置BorderStyle的屬性為bsNone就可以了,不過這種設置方法不但去掉了窗體的標題欄,而且也去掉了窗體的3D邊框,這樣就顯得不好看了,那么請大家試試下面的方法吧。
procedure TForm1.FormCreate(Sender: TObject);
begin
setwindowlong(form1.Handle,gwl_style,getwindowlong(handle,gwl_style) and not ws_caption);
height:=clientheight;//隱藏標題欄
end;
2.在標題欄中顯示文字標題
要在窗體的標題欄中顯示文字信息,可以先獲取此窗體的句柄,然后使用畫布(Canvas)在此窗體的標題欄中繪制出文字,根據需要可以對文字的字體大小和顏色進行設置。
procedure TForm1.Button1Click(Sender: TObject);
var
dc:hdc;
cvs:tcanvas;
begin
dc:=getwindowdc(handle);//取得窗體的句柄
cvs:=tcanvas.Create;
cvs.Handle:=dc;
cvs.Font.Size:=11;//設置字體大小
cvs.Brush.Color:=rgb(222,222,9);//背景顏色
cvs.TextOut(100,8,'標題欄文字');//繪制文字
releasedc(handle,dc);//釋放句柄
end;
3.在任務欄中隱藏窗體的圖標
在Windows中運行程序時,往往此程序的圖標都會出現在任務欄中,但也有一些特殊的程序禁止了這種做法,如一些監控程序等,其實要實現這種效果也有好多種方法,下面是其中的一種。
procedure TForm1.FormCreate(Sender: TObject);
begin
showwindow(application.handle,sw_hide); //隱藏圖標
setwindowlong(application.Handle,gwl_exstyle,
getwindowlong(application.Handle,gwl_exstyle) or ws_ex_toolwindow and not ws_ex_appwindow);
//設定窗體在狀態欄處不可見狀態
end;
