补充一下:
我这样做的:在App的InitInstance()中下述代码:
CMenu mmenu;
mmenu.LoadMenu(IDR_MAINFRAME);
mmenu.EnableMenuItem(1,MF_GRAYED);
运行没错,可是该Pop-up菜单并不灰化。
我这样做的:在App的InitInstance()中下述代码:
CMenu mmenu;
mmenu.LoadMenu(IDR_MAINFRAME);
mmenu.EnableMenuItem(1,MF_GRAYED);
运行没错,可是该Pop-up菜单并不灰化。
解决方案 »
- 关于DLL的疑问
- 难道BMP格式的文件有很多种编码方式吗?请高手解答
- 键盘钩子???
- 200分,哪位有比较好的注册算法?
- VC6远程调试出错,网上邻居里能找到远程机,但是调试的时候却连接不上?
- 如何将CStatic控件的背景色设为透明呢?
- 用socket传输文件前先发送了文件大小的信息,但是客户端接收到得文件大小不对,求解释!
- vs6中的depends.exe在vs.net里怎么不见了?
- 怎样调用DLL文件?
- CRichEditCtrl控件打印怎么判断是否到达了最后一页?
- 关于自绘的概念问题?
- 救急编译老出错,f:\program files\microsoft visual studio\vc98\include\richedit.h(22) : warning C4518: 'extern ' : sto
我猜你的代码应如下写:
CMenu* menu = m_pMainWnd->GetMenu( ) ;
if( menu )
{
menu->EnableMenuItem(1,MF_GRAYED|MF_BYPOSITION );
}
m_pMainWnd->Invalidate();
menu->DeleteMenu( 1 , MF_BYPOSITION ); 下标从0开始
and update menu items in ON_UPDATE_COMMAND_UI macro.
VC++技术内幕中说UI处理程序不能禁止Pop-up菜单