ToolbarWindow.cpp


#include "StdAfx.h"
#include "ToolbarWindow.h"
#include "Resource.h"

CToolbarWindow::CToolbarWindow(void)
{
}

CToolbarWindow::~CToolbarWindow(void)
{
    //CToolbarButtonCtrlに移動
    ImageList_Destroy(m_hImageList);
    if ( IsWindow() )
        DestroyWindow();
}

LRESULT CToolbarWindow::OnCreate ( UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/ )
{
    //自作クラス、CToolbarButtonCtrlを使用したボタンとメニューの追加

    //Init処理
    m_BtnCtrl.Init ( m_hWnd );

    //単純なクマーボタン
    m_BtnCtrl.AddButton ( ID_KUMA_BUTTON, L"クマー", L"kuma" );

    //ドロップダウン式クマクマボタン(画像なし)
    m_BtnCtrl.AddButton ( ID_KUMAKUMA_BUTTON, L"クマクマ", 0, TBSTYLE_DROPDOWN );
    //クマクマボタンにメニュー追加
    m_BtnCtrl.AddMenu ( ID_KUMAKUMA_BUTTON, ID_KUMAKUMA_MENU1, L"クマメニュー1" );
    m_BtnCtrl.AddMenu ( ID_KUMAKUMA_BUTTON, ID_KUMAKUMA_MENU2, L"クマメニュー2" );

    return 0;
}

//メニュードロップダウン
LRESULT CToolbarWindow::OnDropDown( int /* idCtrl */, LPNMHDR pnmh, BOOL& /* bHandled */ )
{
    LPNMTOOLBAR lpNMToolBar = (LPNMTOOLBAR)pnmh;

    //メニューの表示
    //OnCreate時に、AddMenuした内容をCToolbarButtonCtrlが保持していて
    //パラメータとして渡された親ボタンのIDを元に、メニューを表示する感じ
    m_BtnCtrl.DispMenu ( lpNMToolBar->iItem );

    return 0;
}

//ボタン用動作設定
LRESULT CToolbarWindow::OnKumaButtonCommand ( WORD /* wNotifyCode */, WORD wID, HWND /* hWndCtl */, BOOL& /* bHandled */ )
{
    if ( wID == ID_KUMA_BUTTON )
        MessageBox ( L"クマボタン", L"message", MB_OK );
    else if ( wID == ID_KUMAKUMA_BUTTON )
        MessageBox ( L"クマクマボタン", L"message", MB_OK );
    return 0;
}

//メニューアイテム用動作設定
LRESULT CToolbarWindow::OnKumaMenuCommand ( WORD /* wNotifyCode */, WORD wID, HWND /* hWndCtl */, BOOL& /* bHandled */ )
{
    if ( wID == ID_KUMAKUMA_MENU1 )
        MessageBox ( L"クマメニュー1", L"message", MB_OK );
    else if ( wID == ID_KUMAKUMA_MENU2 )
        MessageBox ( L"クマメニュー1", L"message", MB_OK );
    return 0;
}

戻る

コメントスペース