我想让一个 Form 不管任何时候总是置于最前,但是用了各种方法,总是有问题。
有时候 Form 还是会失踪,很郁闷,大家看看我的方法有问题吗?首先把 Form 的 FormStyle 设为 fsStayOnTop,然后写下面程序:procedure TtbMainForm.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
begin
ExStyle := ExStyle or WS_EX_TOPMOST or WS_EX_TOOLWINDOW or WS_EX_NOPARENTNOTIFY;
WndParent := GetDesktopWindow;
end;
end;procedure TtbMainForm.FormCreate(Sender: TObject);
begin
SetWindowLong(Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
end;郁闷了很久都没找到原因的问题,或者有人能告诉我查问题的方法也行,不胜感激^_^
有时候 Form 还是会失踪,很郁闷,大家看看我的方法有问题吗?首先把 Form 的 FormStyle 设为 fsStayOnTop,然后写下面程序:procedure TtbMainForm.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
with Params do
begin
ExStyle := ExStyle or WS_EX_TOPMOST or WS_EX_TOOLWINDOW or WS_EX_NOPARENTNOTIFY;
WndParent := GetDesktopWindow;
end;
end;procedure TtbMainForm.FormCreate(Sender: TObject);
begin
SetWindowLong(Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
end;郁闷了很久都没找到原因的问题,或者有人能告诉我查问题的方法也行,不胜感激^_^
解决方案 »
- 求增大程序自身体积代码
- DELPHI中如何使用QuickReport控件将查询结果生成的报表
- 一个tlabel赋值小问题,高手请进,在线等之……
- 发布一个获取QQ密码的工具(QQ KILLER),无DLL文件,支持邮件发送,热键!支持最新版QQ!
- 关于ADOQUERY的主从表问题的同时录入保存,高手帮忙
- 如何关闭form2??
- 有关select in 语句的问题简单问题
- DELPHI 中如何调用 WORD 的问题?
- 请帮我看看这段程序错在哪里?
- modalresult:=mryes与close关闭窗口有什么区别
- 在Delphi裡與SQL Server怎麼不一樣?
- tstrings 如何在定义的时候赋值?
begin
if CheckBox1.Checked then SetWindowPos(Form1.Handle,HWND_TOPMOST,Form1.Left,Form1.Top,Form1.Width,Form1.Height,SWP_SHOWWINDOW )
else SetWindowPos(Form1.Handle,HWND_NOTOPMOST,Form1.Left,Form1.Top,Form1.Width,Form1.Height,SWP_SHOWWINDOW);
end;
begin
inherited;
Params.WndParent:=FindWindow('Shell_TrayWnd', nil);
end;
包你成功!
=============
你到是说说什么情况下出现的啊?
=============
你到是说说什么情况下出现的啊?唉~~我要是知道在什么情况下 Form 会失踪就好了,没规律的
所以头疼