首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么用按钮禁用主菜单项

2012-12-16 
如何用按钮禁用主菜单项我用自创建按钮在view类中创建了一个按钮,要实现这个按钮的单击对主菜单中某个子菜

如何用按钮禁用主菜单项
我用自创建按钮在view类中创建了一个按钮,要实现这个按钮的单击对主菜单中某个子菜单的禁用,请问如何完成?请回帖人回复的程序经过调试正确满足该要求后再回帖,本人试过了很多方法不行,请高手指点,万分感谢。。
[最优解释]
首先,在CMainFrame加上
CMainFrame::CMainFrame()
{
// TODO: 在此添加成员初始化代码
m_bAutoMenuEnable = FALSE;
}

然后,创建按钮
CButton m_btn;
m_btn.Create("按钮",WS_CHILD 
[其他解释]
 MF_DISABLED 
[其他解释]
  BS_DEFPUSHBUTTON , CRect(20,20,100,35),this,IDB_BTN);
m_btn.ShowWindow(SW_SHOWNORMAL);
在View类的头文件中加入宏定义 #define IDB_BTN 123

在View类中添加OnComaand
重写
BOOL CTextView::OnCommand(WPARAM wParam, LPARAM lParam)
{
// TODO: 在此添加专用代码和/或调用基类
switch(wParam)
{
case IDB_BTN:
AfxMessageBox("BTN CLICKED!");
GetParent()->GetMenu()->GetSubMenu(0)->EnableMenuItem(1,MF_BYPOSITION 
[其他解释]

不用这些你的代码可以禁用么?如果可以,直接在按钮里发条消息,消息处理函数去禁用呢?
[其他解释]
 MF_GRAYED);
}
return CView::OnCommand(wParam, lParam);
}
就可以禁止指定菜单,已测试!
[其他解释]
你可以响应子菜单的ON_UPDATE_COMMAND_UI消息
在这个里面做.
ON_UPDATE_COMMAND_UI(ID_APP_ABOUT, &CMainFrame::OnUpdateAppAbout)
void CMainFrame::OnUpdateAppAbout(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
pCmdUI->Enable(TRUE);
}

热点排行