• ベストアンサー

[MFC] CWnd::MessageBoxの警告アイコンイメージの取得方法

CWndクラスのMessageBox関数で表示される メッセージボックス中の左上のアイコン (警告アイコン等)のイメージってアイコンデータとして 取得する方法ってありますか? いま、私がやりたいことというのは CWnd::MessageBoxで表示されるメッセージボックスに チェックボックスをつけてカスタマイズしたものを つくろうとしていまして、さらにアイコン等の外観も 標準の警告アイコンを使用したいと考えています。 アイコンにこだわらなければ、CWinApp::DoMessageBoxを アプリケーションクラスで実装してやれば良いだけなのかも しれませんが、どうしてもアイコンを標準のものを使用したいのです。 ご存知の方がいらっしゃいましたら、 教えていただけたら幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.2

★参考情報 HICON hIcon; hIcon = AfxGetApp()->LoadIcon( IDI_INFORMATION ); // 水色(i)アイコン hIcon = AfxGetApp()->LoadIcon( IDI_QUESTION ); // 水色(?)アイコン hIcon = AfxGetApp()->LoadIcon( IDI_WARNING ); // 黄色(▲)アイコン(警告) hIcon = AfxGetApp()->LoadIcon( IDI_ERROR ); // 赤色(×)アイコン(エラー) その他: hIcon = AfxGetApp()->LoadIcon( IDI_APPLICATION ); // アプリケーションのアイコン hIcon = AfxGetApp()->LoadIcon( IDI_WINLOGO ); // Winロゴのアイコン

mavosuke
質問者

お礼

>Oh-Orangeさん まさに欲しい情報はそれでした。 Winロゴのアイコンも取得できるんですね。 情報ありがとうございます!

その他の回答 (1)

  • noocyte
  • ベストアンサー率58% (171/291)
回答No.1

MFC は使ってないので知りませんが,Win32 API の ::LoadImage() または ::LoadIcon() を使えば標準のアイコンが取得できます. HICON hIcon = :LoadImage(NULL, iconId, IMAGE_ICON, 0, 0, LR_SHARED); または HICON hIcon = ::LoadIcon(NULL, iconId); ここで,iconId は次のうちのいずれか. IDI_APPLICATION IDI_ERROR IDI_INFORMATION IDI_QUESTION IDI_WARNING IDI_WINLOGO 詳しくは ::LoadImage() または ::LoadIcon() のマニュアルを参照してください.

mavosuke
質問者

お礼

>noocyteさん LoadIconであっさり警告アイコンが取得できるんですね。 早速ためしてみます。 回答を頂きましてありがとうございました。

関連するQ&A