通常のボタンをドロップダウンボタンのように動かす – プログラミング – Home

通常のボタンをドロップダウンボタンのよ...
 
通知
すべてクリア

[解決済] 通常のボタンをドロップダウンボタンのように動かす


ゆう
 ゆう
(@ゆう)
ゲスト
結合: 23年前
投稿: 114
Topic starter  

ツールバーのボタンに TBSTYLE_DROPDOWN を指定するとボタンの右側に▼が表示され
て、
クリック時に TrackPopupMenu でメニューを表示できるようになると思います。
ただ、通常のボタンのため、クリック時に同じように WM_COMMAND(Onコマンド)が走り、
クリックするたびにメニューが再描画されてしまいます。

メニュー表示時に凹状態にするのは SendMessage で TBSTATE_PRESSED を追加した
状態のメッセージを投げてやるといいのはわかったのですが、
メニューが表示されている状態のときに再度ボタンをクリックした際メニューを
出したくないのですが、どのように判断(または処理)していいのかわかりません。

SendMessage で TB_GETSTATE を投げて TBSTATE_PRESSED があるかどうか見ようと
思ったのですが、TrackPopupMenu から制御が帰ってきた時点で TBSTATE_PRESSED を
解除しているため、判断できませんでした。

現在メニューを表示しているのかどうかを見ようとも思ったのですが、
ボタン押下時(クリックではなく押しっぱなし状態)にメニューが消えて
しまっているため、判断できないと思いました。
(ためしてはいません。)

イメージとしては Google ツールバーの 一番左のボタンのような状態にしたいのです。

どなたか知恵をお貸し頂けませんか?

開発環境 WinXP VC6.0 MFC


引用未解決
トピックタグ
ゆう
 ゆう
(@ゆう)
ゲスト
結合: 23年前
投稿: 114
Topic starter  

自己解決しました。

WM_COMMAND(クリックイベント)でしていたのがまずいけなかったようです。
WM_LBUTTONDOWN(左ボタン押下時)で処理したらいけました。
お騒がせしました。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました