• ベストアンサー

[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

  • [注意][警告]etc のアイコンの場所

    パソコンを操作している時に  [注意]・・・ビックリ印  [警告]・・・×印 が含まれたメッセージが表示されます  この[注意][警告]etc のアイコンはどこかに格納されているのでしょうか? ある場所をご存知の方、そのアドレスを教えて下さい  OSは、windows2000 を使用しております 宜しくお願い申し上げます

  • メッセージボックスを大きくする方法

    こんにちは。 MessageBox.Showで表示するメッセージボックスを 全体的に大きくしたいのですが、できるのでしょうか? アイコン、メッセージ、ボタンを大きくしたいです。 よろしくおねがいいたします。

  • モーダレスなメッセージボックス、またはチャイム(C#)

    モーダレスなメッセージボックスを 作りたいのですが、MessageBoxクラス などで何とかできないでしょうか。 また、自作しなければならない場合、 メッセージボックス表示時の、チャイム音 はどうしたら出せるでしょうか (BEEPとは、音が違います)。 お願いします。

  • 候補のアイコンを大きく表示する方法。

    窓の手などのフリーソフトを使ってフォルダアイコンを変更するとき 不満に感じてることです。 候補を選ぶのに最初に出てくるウィンドウズ標準の候補アイコンは(dll形式の ため)大きく表示されます。 ところが自分がダウンロードしたアイコンを選ぶため「参照」をクリックすると、 小さいダイアログボックスが現れてアイコン表示も小さいため見にくいです。 何か解決策はあるでしょうか? OSは98SEです。 [「最初から選ぶアイコンきめといたら?」と言わないでね(^^;)]

  • 警告表示を出す方法

    こんにちは、いつもお世話になってます。 インターネットをしてる時にたまにセキュリティーの警告のような 小さい画面がでることってありますよね? 何か大事なパスワードなどを入力する画面などで多く見られるんですが 大体2回ほど「はい」を選択すると次のページが見られるというやつなのですが それを間違えて「次からこの文を表示しない」みたいなのにチェックを入れて閉じてしまいました。 どうやれば元通りになるでしょうか? こちらの過去の質問などで似たようなパターンを見かけたので 「ツール」→「インターネットオプション」→「セキュリティ」→「レベルのカスタマイズ」と進んでいったのですが ダイアルボックスを表示させるがたくさんあってどれを選んでいいのかがわかりません。 そして一応順番に「表示する」にチェックを入れてOKにしてみようとしたのですが 「このゾーンの設定を変更しますか?と聞いてきます。 この辺りもよくわからなくてそのままOKにしていいものか困ってます。 ブラウザはIE6.0でOSはXPです。アドバイスよろしくお願いします。

  • アメブロで忍者ツールのアイコンを隠す方法ってありますか。

    アメブロで忍者ツールを使用すると、画面の左上にアイコンが表示されますが それを隠しておく方法ってあるのでしょうか。 CSS等どこを編集すれば良いでしょうか。 分かる方、ご回答を宜しくお願い致します。

  • ツールバーのホームアイコンを大きくする方法

    windows 7 IE 8 の環境です。 ツールバーのホームアイコンを大きくする方法ですが http://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=010656#1 上記サイトでツールバーのカスタマイズにて大きくするコマンドがあるようですが 私のパソコンでは表示されていません。 いつもよく使用するホームアイコンを大きくして使いやすくしたいのですが いい方法はありませんか?

  • C#のクラスライブラリでメッセージボックスを表示

    VisualStudio2010でVisualC#のクラスライブラリやコンソールアプリケーションでメッセージボックスを表示させたいのですが、 Windowsフォームアプリケーションでは MessageBox.Show("メッセージ本文","タイトル",MessageBoxButtons.OK,MessageBoxIcon.Exclamation); で表示させることができたのですが、 クラスライブラリやコンソールアプリケーションでの中から表示する仕方が分かりません。(OS WindowsXP VisualStudio2010) 1) VisualC#のクラスライブラリでメッセージボックスを表示させるには public class Class1 { }   の中にどのようなコードを記述すればよいのでしょうか。 2) VisualC#のコンソールアプリケーションでメッセージボックスを表示させるには static void Main(string[] args) { }   の中にどのようなコードを記述すればよいのでしょうか。 よろしくお願いします。

  • XPの画面右下にあるインジケーターアイコン

    WindowsXPのSP2にバージョンアップしてみました。 するとPCの起動時、必ず仮面右下のインジケーターアイコンに「ワイヤレスネットワークのアイコン」が現れるようになり、バルーン表示で「このワイヤレスネットワークは接続されていません」と毎回警告されます。 このワイヤレスネットワークは私のノートPCに標準で付いているんですが、全く使用していないので起動時のこの警告メッセージをなんとか止められないものでしょうか? どなたかご存じでしたら教えてください。

  • MessageBoxの閉じるボタン

    こんにちわ。 いまVB.NET2003で開発をしている者です。 MessageBox.Showでメッセージボックスを表示する処理 をコーディングしていますが, メッセージボックスダイアログの[閉じるボタン]を無効に するにはどうすれば良いでしょうか? 教えてください。よろしくお願いします。

専門家に質問してみよう