ツールバーのボタンに TBSTYLE_DROPDOWN を指定するとボタンの右側に▼が表示され
て、
クリック時に TrackPopupMenu でメニューを表示できるようになると思います。
ただ、通常のボタンのため、クリック時に同じように WM_COMMAND(Onコマンド)が走り、
クリックするたびにメニューが再描画されてしまいます。
メニュー表示時に凹状態にするのは SendMessage で TBSTATE_PRESSED を追加した
状態のメッセージを投げてやるといいのはわかったのですが、
メニューが表示されている状態のときに再度ボタンをクリックした際メニューを
出したくないのですが、どのように判断(または処理)していいのかわかりません。
SendMessage で TB_GETSTATE を投げて TBSTATE_PRESSED があるかどうか見ようと
思ったのですが、TrackPopupMenu から制御が帰ってきた時点で TBSTATE_PRESSED を
解除しているため、判断できませんでした。
現在メニューを表示しているのかどうかを見ようとも思ったのですが、
ボタン押下時(クリックではなく押しっぱなし状態)にメニューが消えて
しまっているため、判断できないと思いました。
(ためしてはいません。)
イメージとしては Google ツールバーの 一番左のボタンのような状態にしたいのです。
どなたか知恵をお貸し頂けませんか?
開発環境 WinXP VC6.0 MFC
自己解決しました。
WM_COMMAND(クリックイベント)でしていたのがまずいけなかったようです。
WM_LBUTTONDOWN(左ボタン押下時)で処理したらいけました。
お騒がせしました。
ありがとうございました。