Last Updated 2003/03/13
Programming Tips Visual C++ MFC ツールバー  索 引 
ダイアログアプリにツールバー
2003/03/13

ダイアログベースのアプリケーションにツールバーを作成する.

CDialog の派生クラスに
CToolBar m_wndToolBar;
を追加する.

OnInitDialog() に
    if( !m_wndToolBar.Create( this ) ) {
        return FALSE;       // 作成失敗
    }

    m_wndToolBar.LoadBitmap( IDB_TOOLBAR );

    m_wndToolBar.SetButtons(NULL, 3);
    m_wndToolBar.SetButtonInfo(0, 1000,TBBS_BUTTON, 0);
    m_wndToolBar.SetButtonInfo(1, ID_SEPARATOR,TBBS_SEPARATOR, 6);
    m_wndToolBar.SetButtonInfo(2, 1001,TBBS_BUTTON, 1);

    // ペイントする前に更新ハンドラの呼び出しを無効
    m_wndToolBar.Invalidate();
    AfxGetApp()->OnIdle(-1);
を追加する.

しかしダイアログにツールバーは表示されない.
なぜか?

ツールバーのウィンドウサイズが 0 x 0 になっているので表示されない.
MoveWindow() などでウィンドウの大きさを設定すればよい.
OnCommand() を追加すれば,ボタン押下のハンドラも記述可能.
これで問題ないはず.


参照
前後のTips
ダイアログアプリにツールバー

DSS ProgrammingTipsCGI Ver2.02