窗口置顶(置于桌面所有程序之上)&VC/MFC 怎么将窗口置顶

本文介绍了如何在VC/MFC中实现窗口置顶,提供了多种置顶方法,包括使用SetWindowPos函数的不同参数组合,以解决窗口在全屏显示时被其他弹出框覆盖的问题。同时强调了置顶后取消置顶的重要性,以及在有父子窗口情况下如何正确置顶。
摘要由CSDN通过智能技术生成

软件界面全屏显示后,需要把窗体置于其他桌面程序之上,但总是置于其他弹出框之下,会造成用户忽略了导致用户不明什么原因。

百度查了好多方法总是失败。

后来查到了CSND的一个帖子http://bbs.csdn.net/topics/380000316

试了以下方法便成功了,现把方法公布于下:

在窗体的初始化函数OnInitDialog()中添加以下一句代码

::SetWindowPos(this->m_hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOREPOSITION );

整理如下:

方法一:

//窗口置顶
::SetWindowPos(hWnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);
//窗口不置顶
::SetWindowPos(hWnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);

方法二:

永远在顶的窗口:
::SetWindowPos( yourWndHandle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOREPOSITION );

归纳如下:
VC/MFC 怎么将窗口置顶

 

1.窗口置顶

(1)函数原型:

BOOL SetWindowPos(HWND hWnd, HWND hWndInsertAfter, int x, int y,int cx, int cy, UINT nFlags);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值