ToolbarButtonCtrl.h


#pragma once
#include <map>
#include <vector>

class CToolbarButtonCtrl
{
public:
    CToolbarButtonCtrl(void);
    ~CToolbarButtonCtrl(void);

    //初期化処理(ボタン、メニュー追加前に必ず実行する)
    void Init ( HWND hWnd );
    //ボタン追加
    void AddButton ( int idCommand, wchar_t* string = NULL, wchar_t* imageName = NULL, 
        BYTE style = 0, BYTE state = 0 );
    //メニュー追加
    void AddMenu   ( int idParent, int idCommand, wchar_t* string );
    //メニュー表示
    void DispMenu  ( int idParent );

    //メニュー情報取り出し
    std::vector<MENUITEMINFO> GetKumaMenuItemInfo ( int cmdID ) { return m_MenuMap[cmdID]; }

private:
    //SendMessage(Windowハンドル指定省略)
    LRESULT SendMessage ( UINT Msg, WPARAM wParam, LPARAM lParam );

    //Windowハンドル
    HWND m_hWnd;
    //画像リスト
    HIMAGELIST m_hImageList;

    //メニュー情報(Key=親ボタンのCmdID,Value=MENUITEMINFO)
    //AddMenuされた際に情報を格納し、Disp時に使用する
    std::map < int, std::vector<MENUITEMINFO> > m_MenuMap;
};

戻る

コメントスペース