⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index187.htm

📁 一本不错的VC编程的参考书
💻 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">CWnd::GetMenu()的问题</font></td></tr>
<tr><td><p>
</Br>
我有个程序用下面代码:<Br>
</Br>
&nbsp;&nbsp;&nbsp;&nbsp;CWnd *pWnd = CWnd::GeForegroundWindow();<Br>
&nbsp;&nbsp;&nbsp;&nbsp;if (pWnd == NULL) return FALSE;<Br>
&nbsp;&nbsp;&nbsp;&nbsp;CMenu *pMenu = pWnd->GetMenu();<Br>
&nbsp;&nbsp;&nbsp;&nbsp;if (pMenu == NULL) return FALSE;<Br>
&nbsp;&nbsp;&nbsp;&nbsp;for (int i = 0; i < pMenu->GetMenuItemCount; i++) {<Br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pMenu->GetMenuItemID(...);<Br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pMenu->GetMenuString(...);<Br>
&nbsp;&nbsp;&nbsp;&nbsp;}<Br>
&nbsp;&nbsp;上述代码工作除了在IE窗口外,别的窗口工作都很正常,请问怎样才能在IE窗口中正常使用,如果不是用这种方法,那又该用什么方法?<Br>
</Br>
IE有一个定义菜单,是用自定义系列控件中的弹出菜单。所以你就不能再使用枚举这种方法了,试一下处理WM_INITMENUPOPUP或WM_INITMENU。在VC的CD中有类似的例子(关于剪切与复制)你得到消息句柄时就可以列出所有的菜单项。上面的代码之所不工作可能是因为微软的自画菜单项的保存菜单项用了不同的格式,想要明白菜单和画标是否是自画的,你可以用这种方法测试lpmii->fType & MFT_OWNERDRAW.Ipmii是一个菜单结构,返回得到的菜单项信息。lpmii->dwTypeData 返回(菜单)项目的类型,如果dwTypeData返回的值没有什么用的话还有一个机会,lpmii->dwItemData将指向一个(程序)开始时的菜单项中的字符串结构。以上方法比较好,因为现在好多程序都使用自定义菜单。<Br>
</Br>
</p></td></tr>
</table>
</body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -