软件界面全屏显示后,需要把窗体置于其他桌面程序之上,但总是置于其他弹出框之下,会造成用户忽略了导致用户不明什么原因。
百度查了好多方法总是失败。
后来查到了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);
(