表單顯示在螢屏的最上端,永遠位于最上方,而且,其他程式最大化的時候其上邊緣不能進到我的那個程式的下面,類似把Windows的任務欄挪到螢屏最上端那種效果。
目前已經解決的問題是讓視窗置頂和使用Windows+D (或者是點擊顯示桌面按鈕)時不消失。
實作程序如下:
public:
procedure CreateParams(var Params: TCreateParams); override; //在你的表單中多載
procedure TfrmMain.Button3Click(Sender: TObject);
var
wnd : THandle;
begin
frmMain.FormStyle := fsStayonTop;
wnd := FindWindow(nil,'Project1');
SHowWIndow(wnd,SW_HIDE);
frmMain.BorderStyle:=bsNone;
frmMain.Top:=0;
frmmain.Left:=0;
frmMain.Width:=Screen.Width;
frmMain.Height:=30;
end;
procedure TfrmMain.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.EXStyle := Params.ExStyle or WS_EX_TOOLWINDOW;
Params.WndParent := GetDesktopWindow; // 重新定義Parent物件句柄,看你的需要了。
end;
uj5u.com熱心網友回復:
目前差的就是其他的程式最大化的時候,他們的頂端是0,我想改成其他表單最大化的時候,他們的頂端應該是 0+我的表單的高度。哪位兄弟有解決方法啊。
uj5u.com熱心網友回復:
appbar 這種技術老早就討論過了uj5u.com熱心網友回復:
接分,接分。 接分,接分。uj5u.com熱心網友回復:
好像 美萍 對這些玩的比較透。。。。uj5u.com熱心網友回復:
是的,可到這里下載資源:demo程式可以停靠到螢屏四邊并能使得其它應用表單最大化尺寸符合要求。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/107261.html
