📄 subject_47320.htm
字号:
<p>
序号:47320 发表者:titany 发表日期:2003-07-19 16:51:26
<br>主题:怎样将一个无模式对话框always ontop?
<br>内容:怎样将一个无模式对话框always ontop?<BR>我试了在自定义的对话框中映射wm_killfocus消息,然后调用setfocus,setactivewindow.....都不行
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:ben 回复日期:2003-07-19 17:09:58
<br>内容:最高窗口的实现<BR>VC++中对基于SDI、MDI的运用程序,要实现最高窗口,只要在框架窗口类CMainFrame中的PreCreateWindow()函数中加入“cs.dwExStyle =WS_EX_TOPMOST;”即可。<BR><BR> 而对基于对话框的运用程序,如何实现最高窗口却很少论及,以下便是一种实现方法。<BR> 重载要实观最高窗口的对话框的OnInitDialog()函数,方法是进入ClassWizard,在Object ID列表框中选择该对话框的ID,在Message列表框中选择WM_INITDIALOGG,单击Add Function按钮后,即对onlnitDialog函数进行了重载。再按下Edit code按钮,加入以下语句:<BR>const CWnd * pWndInsertAfter;<BR>pWndInsertAfter = &wndTopMost;<BR>SetWindowPos(pWndInsertAfter,0,0,0,0,SWP_NOSIZE | SWP_NOMOVE);<BR>函数SetWindowPos原型为BOOL SetWindowPos(const CWnd * pWndInsertAfter,int x,int y,int cx,int cy,UINT nFlags);<BR>pWndInsertAfter为指向标识窗口类型的CWnd对象的指针。<BR>x,y为窗口左上角的坐标。<BR>cx,cy为窗口的宽与高。<BR>nFlags确定窗口的大小及位置。当为SWP_NOSIZE时,忽略cx,cy。当为SWP_NOMOVE时,忽略x,y。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -