質問 |
||
| 質問者:BearCave | メニューにアイコンを付加するには? | |
|---|---|---|
困り度:
|
Windows APIでプログラミングしています。右クリックが起きた時にLoadMenuでリソースからメニューを取り出し、TrackPopupMenuでポップアップメニューを表示するようにしています。 このメニューの項目の右横にアイコンを付けたいのですが、どうすればよいのでしょうか? また、項目の文字を太字にする方法も分かれば教えてください。 |
|
質問投稿日時:08/04/18 12:26 質問番号:3956842 |
||
回答良回答20pt |
|
| 回答者:Oh-Orange | ★アドアイス ・一番簡単な方法。 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/jp... http://wisdom.sakura.ne.jp/system/winapi/win32/win79.html |
|---|---|
| 種類:アドバイス どんな人:専門家 自信:参考意見 |
|
| |
回答日時:08/04/18 20:45 回答番号:No.1 |
|
| この回答へのお礼 | どうやらSetMenuItemBitmaps関数はポップアップメニューには対応していないようなので、オーナードローの方法でやってみたいと思います。 太字にする方はMFS_DEFAULTフラグで解決しました。アドバイスありがとうございました。 |