アイコン自由自在。
ダイアログの好きな場所に、コントロールのピクチャーで、
スタイルがアイコンの絵を貼る
この、貼った絵を、ウィザードで、変数とする。(例では m_Icon )
そして、OnInitDialog で、次のように書く。
CWinApp* pApp = AfxGetApp();
HICON hIcon = pApp->LoadStandardIcon ( IDI_EXCLAMATION );
m_Icon.SetIcon( hIcon );
他には、こんなのがOK
HICON hIconAst = pApp->LoadStandardIcon( IDI_ASTERISK ); // i
HICON hIconQue = pApp->LoadStandardIcon( IDI_QUESTION ); // ?
HICON hIconExc = pApp->LoadStandardIcon( IDI_EXCLAMATION ); // !
HICON hIconHnd = pApp->LoadStandardIcon( IDI_HAND ); // X
HICON hIconApp = pApp->LoadStandardIcon( IDI_APPLICATION ); // □
例えば、自分で登録しているIcon だった場合は、
スタンダードアイコンでは無いので、
HICON hIconMif = pApp->LoadIcon( IDR_MAINFRAME );
ちなみに、調べていてMessageBox のicon を変更するというのも、
簡単に出来るみたい。
MSGBOXPARAMS mbp;
mbp.cbSize=sizeof(MSGBOXPARAMS);
mbp.hwndOwner=m_hWnd;
mbp.hInstance=AfxGetInstanceHandle();
mbp.lpszText="MessageBox で自分が登録しているアイコンを表示してみようという試み。";
mbp.lpszCaption="アイコンを自由に変えるテスト";
mbp.dwStyle=MB_OK|MB_USERICON;
mbp.lpszIcon=MAKEINTRESOURCE(IDR_MAINFRAME);
mbp.dwContextHelpId=0;
mbp.lpfnMsgBoxCallback=NULL;
mbp.dwLanguageId=0;
MessageBoxIndirect(&mbp);