次の方法で共有


WM_DWMSENDICONICTHUMBNAIL メッセージ

ウィンドウのサムネイル表現として使用する静的ビットマップを提供するようにウィンドウに指示します。

パラメーター

wParam

使用しません。

lParam

この値の HIWORD は、サムネイルの x 座標の最大値です。 LOWORD は y 座標の最大値です。 サムネイルの寸法がこれらの値のいずれかまたは両方を超える場合、DWM はサムネイルを受け入れません。

戻り値

アプリケーションでこのメッセージを処理する場合は、0 を返す必要があります。

解説

DWM は、次の状況がすべて当てはまる場合に、このメッセージをウィンドウに送信します。

  • DWM がウィンドウのアイコン表現を表示している。
  • ウィンドウに DWMWA_HAS_ICONIC_BITMAP 属性が設定されている。
  • ウィンドウでキャッシュされたビットマップが設定されていない。
  • キャッシュに別のビットマップ用のスペースがある。

このメッセージを受け取ったウィンドウは、メッセージ パラメーターで要求されたサイズより大きくないビットマップを生成することによって応答する必要があります。 その後、ウィンドウは DwmSetIconicThumbnail 関数を呼び出して、既定のサムネイルをオーバーライドします。 ウィンドウが特定の時間内にビットマップを提供しない場合、DWM はウィンドウに独自の既定のアイコン表現を使用します。

ウィンドウは呼び出し元プロセスに属している必要があります。

次のコード例は、WM_DWMSENDICONICTHUMBNAIL メッセージに応答する方法を示しています。 この例では、カスタマイズされた、デバイスに依存しないビットマップへのハンドルを使用して DwmSetIconicThumbnail を呼び出し、ウィンドウの表現として使用します。

        case WM_DWMSENDICONICTHUMBNAIL:
        {    
            // This window is being asked to provide its iconic bitmap. This indicates
            // a thumbnail is being drawn.
            hbm = CreateDIB(HIWORD(lParam), LOWORD(lParam)); 
            if (hbm)
            {
                hr = DwmSetIconicThumbnail(hwnd, hbm, 0);
                DeleteObject(hbm);
            }
        }
        break;

完全な例については、「アイコン サムネイルとライブ プレビュー ビットマップのカスタマイズ」のサンプルを参照してください。

要件

要件 Value
サポートされている最小のクライアント
Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2008 R2 [デスクトップ アプリのみ]
Header
Dwmapi.h

関連項目

DwmInvalidateIconicBitmaps

WM_DWMSENDICONICLIVEPREVIEWBITMAP