📄 index102.htm
字号:
<html>
<style type="text/css"><!--
.p9 { font-family: "宋体"; font-size: 9pt}a {text-transform: none; text-decoration: none;}
a:hover {text-decoration: underline; color: #FF0000;}
--></style>
<body background="../di2001.jpg">
<h3 align="center"><font COLOR="#AOAO99"></font></h3>
<table width="100%" border="1" cellspacing="1">
<tr><td><p align="center"><font color="#FF0000">如何让我的mfc应用程序可以在最上面?</font></td></tr>
<tr><td><p>
</Br>
如何可以让我的程序可以显示在其它的窗口上面?<Br>
</Br>
让用户选择"总是在最上面"最好是在系统菜单里加入一个选项.可以通过修改WM_SYSCOMMAND消息来发送用户的选择.菜单的命令标识(id)会作为一个参数传给OnSysCommand().要定义标识(id),将如下代码加入到CMainFrame.CPP中:<Br>
</Br>
#define WM_ALWAYSONTOP WM_USER + 1<Br>
将"总在最上面"的菜单项加入到系统菜单中,将如下代码加入到函数CMainFrame::OnCreate()中:<Br>
</Br>
CMenu* pSysMenu = GetSystemMenu(FALSE);<Br>
pSysMenu->AppendMenu(MF_SEPARATOR);<Br>
pSysMenu->AppendMenu(MF_STRING, WM_ALWAYSONTOP,<Br>
"&Always On Top");<Br>
使用ClassWizard,加入对WM_SYSCOMMAND消息的处理,你应该改变消息过滤器,使用系统可以处理这个消息.<Br>
void CMainFrame::OnSysCommand(UINT nID, LPARAM lParam)<Br>
{<Br>
switch ( nID )<Br>
{<Br>
case WM_ALWAYSONTOP:<Br>
</Br>
if ( GetExStyle() & WS_EX_TOPMOST )<Br>
{<Br>
SetWindowPos(&wndNoTopMost, 0, 0, 0, 0,<Br>
SWP_NOSIZE | SWP_NOMOVE);<Br>
GetSystemMenu(FALSE)->CheckMenuItem(WM_ALWAYSONTOP,<Br>
MF_UNCHECKED);<Br>
}<Br>
else<Br>
{<Br>
SetWindowPos(&wndTopMost, 0, 0, 0, 0,<Br>
SWP_NOSIZE | SWP_NOMOVE);<Br>
GetSystemMenu(FALSE)->CheckMenuItem(WM_ALWAYSONTOP,MF_CHECKED);<Br>
}<Br>
</Br>
break;<Br>
</Br>
default:<Br>
CFrameWnd::OnSysCommand(nID, lParam);<Br>
}<Br>
}<Br>
</Br>
</p></td></tr>
</table>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -