掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
オーナードロウメニューについて (ID:52812)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
2つほど、質問させていただきます。 1つは、CMenu派生クラスを使用してオーナードロウメニューを作成しました。 (もちろん、DrawItem、MeasureItemをオーバーライドしています) このクラスを使用して、AppendMenu()で「MF_OWNERDAW」を指定して、 TrackPopupMenu()で右クリックでポップアップメニューを表示させました。 しかし、サブメニューを持つアイテムのみ、表示がおかしいのです。 デバッグしてみたところ、サブメニューを持つアイテムのみ、 MeasureItem()が呼び出されていませんでした。 かわりに、「warning: unknown WM_MEASUREITEM for menu item 〜」 なるメッセージがでています。 どうも、アイテムのIDが認識できませんということみたいですが、 DrawItem()は、ちゃんと呼び出されて、描画されています。 どうすれば、サブメニューを持つアイテムもMeasureItem()が 呼び出されるのでしょうか? 一応、メニューを持っているウィンドウでWM_MEASUREITEMメッセージを 受信したら、MeasureItem()を呼び出すことで対応しています。 もう1つの質問は、質問のオーナードロウを行うと、Windows98では 正常に表示されるのですが、XP上で表示すると枠だけ表示され、 選択状態になったアイテムだけ描画されていきます。 また、この後、他のアプリのメニューも同じ現象になってしまいます。 解決策を教えていただけないでしょうか? 以上、どなたか解凍をお願いいたします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.