我的代码如下:
我现在只能实现一个单个功能的下凹,弹起 
bool  bChecked=false;
void C****View::OnUpdate***(CCmdUI* pCmdUI) 
{
  pCmdUI->SetRadio(bChecked   ?   1   :   0)
}
怎么才能实现互斥?

解决方案 »

  1.   

    定义一个全局 的整型变量,在按钮的事件处理代码中赋不同的值,在OnUpdate***(CCmdUI* pCmdUI) 的函数中
    if(变量的值==值)
    {
    pCmdUI->SetRadio(TRUE); 
    }
    else
    {
    pCmdUI->SetRadio(FALSE) ;
    }
      

  2.   

    定义一个全局 的整型变量比如long m_nMouseMode,在各个按钮的单击事件中使m_nMouseMode赋值为对应按钮的ID,在对应OnUpdate***(CCmdUI* pCmdUI) 的函数中加入这句代码pCmdUI->SetCheck(m_nMouseMode==按钮ID)举例说明,假设有一个画直线的按钮ID为 ID_LINE
    分别为其映射OnLine()和OnUpdateLine(CCmdUI* pCmdUI)函数.(如果需要程序打开时默认按下那个按钮,就初始化m_nMoseMode=该按钮ID即可),示例代码如下void CYourClass::OnLine()
    {
       m_nMouseMode=ID_LINE;
    }
    void CYourClass::OnUpdateLine(CCmdUI* pCmdUI)
    {
      pCmdUI->SetCheck(m_nMouseMode==ID_LINE);
    }
      

  3.   

    http://download.csdn.net/source/777899
      

  4.   

    http://download.csdn.net/source/777899Toolbar制作菜单条过程详解