程序中有两个工具条,一个用于控制工具条的显示与隐藏的弹出式菜单。
现在的问题是
菜单项前面的勾不能出来
代码如下:
void CToolbarCal::OnUpdateMenuItem1(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here CToolbarCal* mpToolBar=p_ToolBarManger->m_PToolArray[0];
BOOL bVisible = ((mpToolBar->GetStyle()& WS_VISIBLE) != 0);
pCmdUI->SetCheck(bVisible);
}
void CToolbarCal::OnUpdateMenuItem2(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
CToolbarCal* mpToolBar=p_ToolBarManger->m_PToolArray[1];
BOOL bVisible = ((mpToolBar->GetStyle()& WS_VISIBLE) != 0);
pCmdUI->SetCheck(bVisible);} /********************************************
消息函数肯定是得到了处理的,因为我在里面添加一个MessageBox("agjal","afhka")的话,点击菜单项时,这个对话框是可以出来的。
*********************************************
还有就是我即使我把bVisible改为TRUE,菜单项前面还是没有勾的。
应该怎么处理呀?
*********************************************/
现在的问题是
菜单项前面的勾不能出来
代码如下:
void CToolbarCal::OnUpdateMenuItem1(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here CToolbarCal* mpToolBar=p_ToolBarManger->m_PToolArray[0];
BOOL bVisible = ((mpToolBar->GetStyle()& WS_VISIBLE) != 0);
pCmdUI->SetCheck(bVisible);
}
void CToolbarCal::OnUpdateMenuItem2(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
CToolbarCal* mpToolBar=p_ToolBarManger->m_PToolArray[1];
BOOL bVisible = ((mpToolBar->GetStyle()& WS_VISIBLE) != 0);
pCmdUI->SetCheck(bVisible);} /********************************************
消息函数肯定是得到了处理的,因为我在里面添加一个MessageBox("agjal","afhka")的话,点击菜单项时,这个对话框是可以出来的。
*********************************************
还有就是我即使我把bVisible改为TRUE,菜单项前面还是没有勾的。
应该怎么处理呀?
*********************************************/
解决方案 »
- VC中整型和长整型的默认值疑问
- MFC中如何用位图替换原来的位图
- VS2008(vc)中,如何添加mannifest文件以使用xp的空间主题?
- 请breakind(冰舞,把练街舞的精神拿来编程,必有所成.)兄弟来接分,谢谢!
- 有一个简单的问题(MDI)
- 高分求助:遗传算法解决一个问题!!不够再加100分!
- 当焦点在Edit控件时响应contrl+enter的按键怎么做
- 高手快帮忙!!!图像处理的一个问题
- 急:如何将一个类封装成为dll文件?在def文件中怎么写?:::::在线等待:::::
- 用ODBC访问数据库的小问题
- 求vc中所有数据类型的详细讲解,入门级教程的那种
- 如何在工具栏里添加控件。
问题是即使我用
pCmdUI->SetCheck(TRUE);
还是没有勾:(
难道是这个原因?
我的菜单是右击工具条时load的。弹出式菜单嘛,我觉得好像只能这样生成吧
有没有别的办法啊??
现在的生成菜单的代码如下:
void CToolbarCal::OnRButtonDown( UINT nFlags, CPoint point )
{ // CG: This block was added by the Pop-up Menu component if (point.x == -1 && point.y == -1){
//keystroke invocation
CRect rect;
GetClientRect(rect);
ClientToScreen(rect); point = rect.TopLeft();
point.Offset(5, 5);
} CMenu menu; VERIFY(menu.LoadMenu(IDR_MENU1));
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
ClientToScreen(&point);
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,
this);
CToolBar::OnRButtonDown(nFlags, point);
}
CMenu menu;声明成类的变量,初始化时LoadMenu(IDR_MENU1);
然后每次需要弹出时:
CMenu* pPopup = menu.GetSubMenu(0);猜想,试试看
to sohou(大秦之刃):我顶楼铁的两个函数就是UPDATEUI函数呀