2012-09-19 19 views
1

我有一個簡單的對話框,其中包含4個按鈕。 我想改變這4個按鈕,並使工具欄包含4個按鈕,並將採取完全像這些按鈕。爲什麼我無法捕捉ToolBar事件?

在h文件中CMFCToolBar;

在的OnInitDialog方法我把這個代碼:

if(m_ToolBar.Create(this, AFX_DEFAULT_TOOLBAR_STYLE, 100)) 
{ 
    m_ToolBar.SetPaneStyle(m_ToolBar.GetPaneStyle() & ~(CBRS_GRIPPER | CBRS_SIZE_DYNAMIC | CBRS_BORDER_ANY)); 

    m_ToolBar.InsertButton(CMFCToolBarButton(IDC_BTN_1, -1 , _T("Txt_1"))); 
    m_ToolBar.InsertButton(CMFCToolBarButton(IDC_BTN_2, -1 , _T("Txt_2"))); 
    m_ToolBar.InsertButton(CMFCToolBarButton(IDC_BTN_3, -1 , _T("Txt_3"))); 
    m_ToolBar.InsertButton(CMFCToolBarButton(IDC_BTN_4, -1 , _T("Txt_4"))); 

    CSize size = m_ToolBar.CalcFixedLayout(FALSE, TRUE); 
    m_ToolBar.SetWindowPos(NULL, 0, 0, size.cx + 10, size.cy + 10 , SWP_NOACTIVATE | SWP_NOZORDER); 

} 
  • 的IDC_BTN_XX是相同的ID與原始按鈕=>所以在BEGIN_MESSAGE_MAP我沒有任何改變=>,所以我想要得到的與之前相同的點擊事件

但是,在工具欄中單擊「無」happand =>並且工具欄按鈕在點擊時呈灰色狀態。

怎麼辦? 我做錯了什麼?

回答

0

您遵循的程序是使用Visual Studio 2010

正確如果你在一個新的MFC項目再次嘗試,基於對話框:

  • 添加一個按鈕IDC_BUTTON1
  • 管理的點擊代碼
  • 代碼相同的
  • 添加工具欄,你在這裏提出

它WOR K +