- ベストアンサー
メニューにアイコンを付加するには?
Windows APIでプログラミングしています。右クリックが起きた時にLoadMenuでリソースからメニューを取り出し、TrackPopupMenuでポップアップメニューを表示するようにしています。 このメニューの項目の右横にアイコンを付けたいのですが、どうすればよいのでしょうか? また、項目の文字を太字にする方法も分かれば教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
★アドアイス ・一番簡単な方法。 SetMenuItemBitmaps()関数を使います。 SetMenuItemBitmaps( hSubMenu, メニューID, MF_BYCOMMAND, hBitmap1, hBitmap2 ); hSubMenu…メニュー・ハンドル hBitmap1…チェックされていないビットマップ・ハンドル hBitmap2…チェックされたときのビットマップ・ハンドル ・これを使って綺麗にアイコンを表示するのは難しいです。 綺麗なアイコンを表示するにはメニューのオーナードローが必要です。 ネット検索すると多数見つかりますので調べてみて下さい。 >また、項目の文字を太字にする方法も分かれば教えてください。 ↑ ある特定の1つだけならSetMenuItemInfo()関数で MFS_DEFAULT フラグをつける。 複数のメニュー項目を太字にする場合はもうメニューのオーナードローを 行うしかありません。なお、MFS_DEFAULT を複数のメニュー項目に付けれますが、 通常は1つだけ設定すべきです。 リンク: http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpwinui/html/_win32_setmenuitembitmaps.asp http://wisdom.sakura.ne.jp/system/winapi/win32/win79.html
お礼
どうやらSetMenuItemBitmaps関数はポップアップメニューには対応していないようなので、オーナードローの方法でやってみたいと思います。 太字にする方はMFS_DEFAULTフラグで解決しました。アドバイスありがとうございました。