PWJ1590 - 94/12 |
この資料は以下の製品について記述したものです。
この資料はダイアログボックスにアイコンを割り当てる手順についての一つの方法を紹介したものです。
ダイアログボックスにアイコン化ボタンを付けて、アイコン状態にしてもアイコンは表示されません。ダイアログボックスをアイコン化する場合には、描画やドラッグの処理などを自分で行う必要があります。
以下にサンプルコードの一部を示します。
BOOL FAR PASCAL __export DlgProc (HWND hDlg, MSG msg, WPARAM wParam, LPARAM lParam) { static HICON hIcon; switch( msg ) { case WM_INITDIALOG: /* メッセージ: ダイアログボックスを初期化 */ hIcon = LoadIcon(hInst,MAKEINTRESOURCE(IDI_ICON1)); return (TRUE); case WM_PAINT: if (!IsIconic(hDlg)){ // アイコン状態でない時は何もしません return 0; } else { PAINTSTRUCT ps; BeginPaint(hDlg, &ps); OldMapMode=GetMapMode(ps.hdc); // バックグラウンドの描画をさせます SendMessage(hDlg,WM_ICONERASEBKGND, (UINT)ps.hdc, 0L); SetMapMode(ps.hdc, MM_TEXT); DrawIcon(ps.hdc, 0, 0, hIcon); SetMapMode(ps.hdc, OldMapMode); EndPaint(hDlg,&ps); } break; case WM_ERASEBKGND: if(IsIconic(hDlg)) return TRUE; else return 0; break; case WM_QUERYDRAGICON: return hIcon; case WM_CLOSE: DestroyIcon(hIcon); break; } return FALSE;
マイクロソフト株式会社 テクニカル サポート
UP |
HOMEPAGE |