窗体显示在屏幕的最上端,永远位于最上方,而且,其他程序最大化的时候其上边缘不能进到我的那个程序的下面,类似把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;
目前已经解决的问题是让窗口置顶和使用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;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货