afx_msg void OnUpdateColorRed(CCmdUI*);ON_UPDATE_COMMAND_UI(ID_RED,&CMainWindow::OnUpdateColorRed)void CMainWindow::OnUpdateColorRed (CCmdUI * p)
{
p->SetText (L"true");
}这是提取的部分代码,点完菜单怎么没设置文本呢
{
p->SetText (L"true");
}这是提取的部分代码,点完菜单怎么没设置文本呢
解决方案 »
- VC 在CreatePopupMenu()菜单项上添加check标记
- VC2005.net 简单窗口程序出错
- winpcap拦截的数据包有错误求解(在线等,当日结分)
- vc中能否实现这样的监听机制?
- 求助!!关于HTTP协议的2进制文件传输!!
- 为什么CRecordset的open()中只能用CRecordset::forwardOnly?
- 请教:如何在VC环境下实现图形的缩放
- MFC 绘图 鼠标拖动直线的时候总是出现图形移动的距离比鼠标移动的距离大
- 怎么知道自己运行的exe的文件名?
- 我写了一个工作线程是打开txt文档然后逐行发送出去,在发送按钮的消息处理函数里调用这个线程编译成功,就是出现卡死的现象。
- 如何准确判断一个汉字CString包含另一个CString
- 求教一个简单的插入图片程序
{
if( m_wndtoolbar.IsWindowVisible() )
{
CFrameWnd* pParent = ( CFrameWnd* ) m_wndtoolbar.GetParent();
if( pParent )
m_wndtoolbar.OnUpdateCmdUI( pParent, ( WPARAM ) TRUE );
} CMenu* pMainMenu = GetMenu();
CCmdUI cmdUI;
for (UINT n = 0; n < pMainMenu->GetMenuItemCount(); ++n)
{
CMenu* pSubMenu = pMainMenu->GetSubMenu(n);
cmdUI.m_nIndexMax = pSubMenu->GetMenuItemCount();
for (UINT i = 0; i < cmdUI.m_nIndexMax;++i)
{
cmdUI.m_nIndex = i;
cmdUI.m_nID = pSubMenu->GetMenuItemID(i);
cmdUI.m_pMenu = pSubMenu;
cmdUI.DoUpdate(this, FALSE);
}
}
return CDialog::ContinueModal();
}
然后再对应的.h中添加 BOOL ContinueModal();
这样就可以使用N_UPDATE_COMMAND_UI了。 另外,有些文章使用WM_KICKIDLE消息。发现cpu的使用率为100%。建议不要使用该函数 另一个缺点: 如果用键盘切换了VIEW,这个函数就不响应了,也就是说,如果使用右键菜单中间如果包括了根据VIEW变化的变量,那么就无法操作。