「実装ミスって変なとこに出るヤツを付ける会」
ドロップダウンボタンにメニューを付ける
先回は、ドロップダウンボタンを付けて、押されたイベントを拾うところまで書きました
今回は押された後にメニューが出て、メニューを押したらメッセージボックスが出る
そんな風にお父さんはこの子を育ててみたいと思います
こんな風に
プログラムって、作ってると徐々に自分の子供みたいに思えてくるよね
「おまえ、人間失格」
メニューを作成する
ドロップダウン時のメニューを作る場合、リソースエディタとかで作って、
それをLoadMenuするという方法をよく見かけますが、残念ながら、これを作ってる人間は
「リソースってなんか嫌い」
という食わず嫌いをしているのと(画像もパス指定したし)、
あと、将来的には、ボタンとかメニューとか画像とか全部設定ファイルに書いて
動的に出そうかと思っているので、リソースは使わない方向で
ということで、やり方はこんな感じになります
1. CreatePopupMenuでポップアップメニューを作り
2. MENUITEMINFOでメニューのアイテムを作り
3. InsertMenuItemで 2 を 1 にセットし
4. TB_GETRECTとGetWindowRectでメニューを出す座標を取得し
5. TrackPopupMenuでメニューを表示する
メニュー選択時のイベントを取得する
メニューが選択された際のイベントは、WM_COMMANDで取得できます
IDは、MENUITEMINFOのwIDで設定したものになります
というわけで、ソース
・ToolbarWindow.h
・ToolbarWindow.cpp
ビルドして実行してください
たぶん、動きます
「思ったより楽だったな」
確かに、意外と楽でした
次回もこの調子で、ザクザク作っていきます
コメントスペース