我作一个类似于html编辑的工具条,上面有font,Bold等等,当我的鼠标放在编辑器上,获取到如果是bold,就要把工具条上bold那个button改为按下状态.

解决方案 »

  1.   

    按钮是CButton还是Radio、Check啊?
    都可以做按钮得
      

  2.   

    "当我的鼠标放在编辑器上"时相应一个消息函数,函数中调用CMainFrame中预先定义的一个函数,
    如OnCheckBold():
    void CYourView::OnSelBold()
    {
       CMainFrame *pMF=(CMainFrame*)AfxGetApp()->GetMainWnd();
       pMF->OnCheckBold();
    }为CMainFrame添加BOOL m_bCheckBold,初始化为FALSE;
    然后写OnCheckBold()函数如下:
    void CMainFrame::OnCheckBold()
    {
       ...
       m_bCheckBold=TRUE;
       ...
    }然后添加那个工具条按钮的OnUpdate函数,如下:
    void CMainFrame::OnUpdateButtonBold(CCmdUI* pCmdUI)
    {
       pCmdUI->SetCheck(m_bCheckBold);
    }另外,记得在其他应该取消Bold按钮按下状态的地方设置m_bCheckBold=FALSE;
      

  3.   

    谢谢,可以了.不过还有一个问题,就是我在设置了m_bCheckBold之后,那个button不会立刻变成"按下"状态,必须再点击编辑器,才可以,为什么呢?
      

  4.   

    你程序肯定有问题!
    再查查你的程序吧,不可能出现必须再点击编辑器后才生效的情况。http://www.dpspace.com