怎么样能让窗体覆盖任务栏啊?(50分)

  • 主题发起人 主题发起人 八戒儿
  • 开始时间 开始时间

八戒儿

Unregistered / Unconfirmed
GUEST, unregistred user!
要保持窗体的最上,。。并且覆盖任务栏,谢谢
 
form.windowstate:=maxnisized 记得不太清楚了
 
...............
 
要不这样,打开窗口之前把任务栏隐藏掉。退出时又取消隐藏就行了。
 
没有办法完全覆盖吗,,
 
隐藏任务栏。
 
可以,等我给你写代码。。。
 
public
{ Public declarations }
procedure CreateParams(var Params: TCreateParams); override;

{$R *.dfm}
procedure TForm1.Createparams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
begin
Style := (Style or WS_POPUP) and (not WS_DLGFRAME);
EXStyle := ExStyle or {WS_EX_TOPMOST or} WS_EX_ACCEPTFILES;
wndParent := GetDesktopWindow; //关键一行
end;

end;

上面是保持窗口保持在最上面,快捷任务栏的最小化所有程序对这个都无效。
下面是最大化和最小化:
PostMessage(handle, WM_SYSCOMMAND, SC_MAXIMIZE, 0); //最大化
PostMessage(handle, WM_SYSCOMMAND, SC_RESTORE, 0); //还原
 
不行的啊,上面的方法还是不能覆盖掉任务栏。。
而且是不是会在任务栏出现两个窗口?
 
不出现在任务栏可以使用
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);

至于还不能覆盖任务栏,是不是任务栏已经设置成了总在最上面显示了呢?
 
任务栏默认就是总在最上的,,,如果改了这个,那让窗体满屏显示就行了,哪还用这么麻烦啊
 
我试过了,任务栏是否最上是无所谓的,给你指个路吧
到www.tomore.com下载一个好像是叫什么 抓取屏幕的 代码。
里面的实际抓图的页面就是可以实现这个。
 
在Onshow里面加下面两行试下
Width := screen.width;
Height := screen.Height;
 
那个我打不开,控件不全,,
你后面的源码只是改了窗体的大小,跟本覆盖不了任务栏呀
 
简单方法:

把窗体的FormStyle属性设置位StayOnTop就可以了,覆盖任务栏没问题。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部