我在一个对话框上放了一个工具栏.现在想实现点击工具栏其中一个按钮,让他凹下去,再点一下又恢复过来我怎么也实现不了.我用了updatecommand下的pCmdUI->SetCheck(1)也不行,不知道是为什么????

解决方案 »

  1.   

    在OnInitDialog()里:
    m_ToolBar.SetButtonStyle(0, TBBS_CHECKBOX);
      

  2.   

    楼上正解。
    可以去这个网址看看,可能对你有帮助哈~
    http://blog.csdn.net/vcleaner/archive/2004/11/16/183569.aspx
      

  3.   

    如果是基于对话框的程序,因为没有OnInitMenuPopup函数,所以不会调用UPDATE_COMMAND_UI
    响应函数.所以就不行了呢.要重载OnInitMenuPopup函数才行
      

  4.   

    1.在.h文件中添加:
    afx_msg LRESULT OnKickIdle(WPARAM wParam, LPARAM lParam); 
    2.在.cpp文件下BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间添加:
    ON_MESSAGE(WM_KICKIDLE,OnKickIdle)
    3.在.cpp文件下添加
    LRESULT CMyDlg::OnKickIdle(WPARAM wParam, LPARAM lParam) 

    if(::IsWindow(m_ToolBar.m_hWnd)) 
    m_ToolBar.OnUpdateCmdUI((CFrameWnd*)this,1); 
    return 0; 
    }
    4.调用updatecommand,不用我说了
      

  5.   

    创建ToolBar后,用SetButtonStyle逐一设置想要此风格的按钮。