1

4つのボタンを含むシンプルなダイアログがあります。これらの4つのボタンを変更し、4つのボタンを含み、それらのボタンとまったく同じように動作するツールバーを作成したいと思います。

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では何も変更しなかった=>したがって、以前と同じClickイベントを取得したい

しかし、何が起こっているのかというと、ツールバーで何もクリックしないhappand =>であり、クリックするとツールバーボタンがグレー表示になります。

何をすべきか ?私が間違ったことは何ですか?

4

1 に答える 1

0

あなたが従う手順は、VisualStudio2010では正しいです。

新しいMFCプロジェクトで再試行する場合、ダイアログベース:

  • ボタンIDC_BUTTON1を追加します
  • クリックコードを管理する
  • ここで提案したのと同じコードでツールバーを追加します

それは機能しますか?

于 2012-09-19T12:48:45.243 に答える