オーナードローメニューのサブメニューの三角マークについて – プログラミング – Home

オーナードローメニューのサブメニューの...
 
通知
すべてクリア

オーナードローメニューのサブメニューの三角マークについて


岡田
 岡田
(@岡田)
ゲスト
結合: 11年前
投稿: 3
 

お世話になります。
Windows7, VisualStudio 2010 Pro

OpenThemeData(hWnd, LMenu)を使用して、オーナードロー形式のコンテキストメニューを
作成しているのですが、困っていることがあります。

通常、ポップアップメニューには右側に小さな三角マークが表示されますが、
このマークをシステムが自動的に描画してしまうので、自分で描画すると
2重表示になってしまいます。

三角マークの描画をシステムに任せると、メニュー項目を選択した時に
COLOR_HIGHLIGHTTEXT(白)でマークが描画されるので、Windows 7などの場合、
ほとんど見えなくなってしまいます。選択時の背景は薄い青色で表示されます。

Windows 7の場合、ポップアップメニューを選択状態にしても、三角マークは
黒で表示されます。オーナードローメニューでもこのようにしたいのですが、
なかなかうまくいきません。

ちなみに、WM_DRAWITEMメッセージで何もせずに「return 1;」としても
サブメニューの三角マークだけは自動的に描画されてしまいます。

デバッガでトレースしたところ、どうもWM_DRAWITEMからリターンして、
次のWM_DRAWITEMがコールされるまでの間に三角マークが描画されています。

オーナードロー形式のメニューで、この三角マークを自動的に描画するのを
抑止する方法はあるのでしょうか?


引用解決済
トピックタグ

返信する

投稿者名

投稿者メールアドレス

タイトル *

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