« こないだは、 | メイン | 久しぶりだね、ほったらかし。 »

アイコン自由自在。

ダイアログの好きな場所に、コントロールのピクチャーで、
スタイルがアイコンの絵を貼る

この、貼った絵を、ウィザードで、変数とする。(例では 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);

コメントを投稿

(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)