社区
Windows SDK/API
帖子详情
怎么把一个窗口置于topmost?--------十分急,分全给了!!!
terrace
2003-08-19 02:42:18
我用FindWindow找到一个窗口(用MessageBox弹出的,可能不属于本应用程序),然后我希望把它设置为topmost状态即置于屏幕的最前面且是激活的,而且关闭该窗口后我原来的程序应仍是active的即有焦点,我试了ShowWindow,但实现不了,有什么办法实现吗?请高手帮忙,很急用,谢谢!!!!
...全文
136
6
打赏
收藏
怎么把一个窗口置于topmost?--------十分急,分全给了!!!
我用FindWindow找到一个窗口(用MessageBox弹出的,可能不属于本应用程序),然后我希望把它设置为topmost状态即置于屏幕的最前面且是激活的,而且关闭该窗口后我原来的程序应仍是active的即有焦点,我试了ShowWindow,但实现不了,有什么办法实现吗?请高手帮忙,很急用,谢谢!!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ahjoe
2003-08-20
打赏
举报
回复
Form1.FormStyle := fsStayOnTop;
terrace
2003-08-20
打赏
举报
回复
renzy205朋友:
你好!
根据你的方法我把SetWindowPos(Handle, HWND_TOPMOST, ...)放定时器中如下:
procedure Tfrm_Main.Timer3Timer(Sender: TObject);
var
H:HWnd;
begin
H:=0;
H:=FindWindow(nil,PChar('HF_Main'));
SetWindowPos(H, HWND_TOPMOST,0,0,300,300,SWP_SHOWWINDOW);
SetActiveWindow(H);
end;
能把窗口置于topmost,第一次也能有输入焦点,但以后当我切换到一个程序后该定时器能定期将窗口置于topmost且有光标闪烁却丢了焦点即无法输入,此时焦点在别的程序中,该怎么解决呢?另外如何得到当前屏幕中激活的有焦点可接受输入的窗口
呢?
比较急用,请帮忙看看,万分感谢!!!
budi
2003-08-19
打赏
举报
回复
SetWindowPos(Handle, HWND_TOPMOST, ...)
renzy205
2003-08-19
打赏
举报
回复
SetForegroundWindow(hwindow);
DWGZ
2003-08-19
打赏
举报
回复
protected
procedure CreateParams(var Param:TCreateParams);override;
...
procedure TForm2.CreatePrams(Var Param:TCreateParams);
begin
inherited CreateParams(Param);
with Param do
begin
ExStyle:=ExStyle or WS_EX_TOPMOST or WS_EX_DLGFRAME or WS_EX_TOOLWINDOW;
WndParent := GetDesktopWindow;
end;
end;
jerrymousenet2
2003-08-19
打赏
举报
回复
SetForegroundWindow(hwnd);
精彩编程与编程技巧-用VB制作TopMost类型
窗口
...
精彩编程与编程技巧-用VB制作TopMost类型
窗口
...
制作TopMost
窗口
制作TopMost
窗口
VB技术很实用的源码整理了一下本人硬盘里实用的编程资料和源码,全部是VB代码,希望大家能喜欢.
TopMost
窗口
置顶1.2
TopMost
窗口
置顶1.2,在做设计的时候,需要参考图始终置顶,那就用这个工具。
精彩编程与编程技巧-制作TopMost
窗口
...
精彩编程与编程技巧-制作TopMost
窗口
...
C#--总在最前面的登录窗体(TopMost属性)
本案例利用窗体的TopMost属性设置登录窗体总在最前面!
Windows SDK/API
1,184
社区成员
22,328
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章