本ページは公開が終了したページの複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。

[SDK] ダイアログボックスにアイコンを割り当てるには

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;
  

その他

(C)1994 Microsoft Corporation. All rights reserved.

マイクロソフト株式会社 テクニカル サポート


UP
UP
Home
HOMEPAGE
inserted by FC2 system