熊「ボタン押させろー」


ボタンにアクションを付ける

ボタンを押しても何も起こらないと寂しいので、
メッセージボックスが立ち上がるアクションを発生させてみます。

この節の内容を実装すると、くまーボタンを押した際に、
こんな感じでメッセージボックスが立ち上がるようになります

キャプチャ

熊「また意味の分からんメッセージだな」


KumaBarBandを修正する

ボタンを押したメッセージは、その親Windowにメッセージが行きます
今回のソースで行くと、KumaBarBandのところですね

KumaBarBandに処理は書きたくないので、CHAIN_MSG_MAP_MEMBERを使って、
CToolbarWindowクラスにメッセージが届くようにします

あと、CHAIN_MSG_MAP_MEMBERを使った場合で、且つ子供がWM_CREATE時の処理をしている場合は、
親のWM_CREATE時に子供をCREATEしないと、

熊「IsWindow失敗したぞコラ」

と怒られるようなので(親とメッセージ共有しようと思ったら、まぁ、そうなるか)、
CToolbarWindowの生成をKumaBarBandのWM_CREATE時に移します

こんな感じで
KumaBarBand.h
KumaBarBand.cpp


ToolbarWindowを修正する

ボタンが押された時(WM_COMMANDが送信される)の動作を書きます
MESSAGE_HANDLER(WM_COMMAND, OnCommand) みたく書いても良いのですが、
個人的に、COMMAND_ID_HANDLERの方が好きなので、そちらを使います

こんな感じで
ToolbarWindow.h
ToolbarWindow.cpp


ビルド

ビルドしてIEを立ち上げると、ボタンに反応するようになります

熊「だいぶツールバーっぽくなってきたな」

確かに、なんとなく出来てきた感はありますね
次節ではよりそれっぽく見えるように、ボタンに画像を付けてみます


HOME    次へ


コメントスペース