熊「共通関数とかいう不毛なものを作るらしい」


ボタンをたくさん作る

次回から、本章の目的である、IEの標準のボタン(戻る、進む、中止、更新とか)の作成をします
その為にはボタンがたくさん必要になります

そいつらを今までのような手順で1個ずつ書いてると、たいへんなので、
簡単にボタンやドロップダウンメニューの作成ができるような機能を作りました

1個のボタンを1行のコードで追加できるような感じのものです
下のような、ボタン2個、メニュー2個のコードなら、4行

キャプチャ

熊「どうでもいい内容だから、寝てる」

IEツールバーって趣旨から見ると、どうでも良い内容かもしれませんが、
次節の為の下準備の回と思ってもらえれば


こんな感じの構成にする

作るクラス
CToolbarCtrl

持ってる関数
AddButton : ボタンを追加する
AddMenu : メニューを追加する
DispMenu : AddMenuされた内容で、メニューを表示する

上の画像のクマボタンを追加する記述
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" );


というわけで、ソース

const.h
定数とか欲しくなったので、const.hなるものを作りました

resource.h
1000とか適当なことを書いておくのもなんなので、 クマボタン用のIDを定数で確保しておく

ToolbarButtonCtrl.h
新規追加

ToolbarButtonCtrl.cpp
新規追加

ToolbarWindow.h
ボタンコントロールクラスをメンバ変数に追加
あと、ボタンとメニューを押された際の動作をマッピング

ToolbarWindow.cpp
ボタン・メニューの追加にToolbarButtonCtrlを使用
あと、ボタンとメニューを押された際の動作を記述


HOME    次へ


コメントスペース