在工具栏中有两个按钮 A 和 B;
这两个按钮的ID和与其对应的菜单项的ID相同;
我在其菜单项的 UPDATA_COMMOND_UI 消息处理函数中这样写的//按钮A (按钮B是类似的写法)
void CMainFrame::OnUpdateMyA(CCmdUI *pCmdUI)
{
//如果鼠标单击A
if(m_curA == 1){
pCmdUI->SetCheck(1);
}
else{
pCmdUI->SetCheck(0);
};
}问题:
现在单击按钮A时,A可以显示说 "按下" 状态;
但是单击B时,A依然显示是 "按下" 的状态;
想实现单击B时 让A弹起来, 该如何做呢
这两个按钮的ID和与其对应的菜单项的ID相同;
我在其菜单项的 UPDATA_COMMOND_UI 消息处理函数中这样写的//按钮A (按钮B是类似的写法)
void CMainFrame::OnUpdateMyA(CCmdUI *pCmdUI)
{
//如果鼠标单击A
if(m_curA == 1){
pCmdUI->SetCheck(1);
}
else{
pCmdUI->SetCheck(0);
};
}问题:
现在单击按钮A时,A可以显示说 "按下" 状态;
但是单击B时,A依然显示是 "按下" 的状态;
想实现单击B时 让A弹起来, 该如何做呢
在设置 m_curB=1 的地方同时设置 m_curA=0 就可以了
void CMainFrame::OnUpdateMyA(CCmdUI *pCmdUI)
{
//如果鼠标单击A
pCmdUI->SetCheck(m_curA == A); }
//comman消息
{
m_curA = A或者B;
}
void CMainFrame::OnUpdateMyb(CCmdUI *pCmdUI)
{
//如果鼠标单击A
pCmdUI->SetCheck(m_curA == B); }
{
if (鼠标在A上)
{
m_curA=1;
m_curB=0;
} else if (鼠标在B上)
{
m_curA=0;
m_curB=1;
} else
{
m_curA=0;
m_curB=0;
}
}