- ベストアンサー
[MFC] CWnd::MessageBoxの警告アイコンイメージの取得方法
CWndクラスのMessageBox関数で表示される メッセージボックス中の左上のアイコン (警告アイコン等)のイメージってアイコンデータとして 取得する方法ってありますか? いま、私がやりたいことというのは CWnd::MessageBoxで表示されるメッセージボックスに チェックボックスをつけてカスタマイズしたものを つくろうとしていまして、さらにアイコン等の外観も 標準の警告アイコンを使用したいと考えています。 アイコンにこだわらなければ、CWinApp::DoMessageBoxを アプリケーションクラスで実装してやれば良いだけなのかも しれませんが、どうしてもアイコンを標準のものを使用したいのです。 ご存知の方がいらっしゃいましたら、 教えていただけたら幸いです。
- みんなの回答 (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ロゴのアイコン
その他の回答 (1)
- noocyte
- ベストアンサー率58% (171/291)
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() のマニュアルを参照してください.
お礼
>noocyteさん LoadIconであっさり警告アイコンが取得できるんですね。 早速ためしてみます。 回答を頂きましてありがとうございました。
お礼
>Oh-Orangeさん まさに欲しい情報はそれでした。 Winロゴのアイコンも取得できるんですね。 情報ありがとうございます!