次の方法で共有


WM_DWMSENDICONICLIVEPREVIEWBITMAP メッセージ

ウィンドウの ライブ プレビュー ( ピーク プレビューとも呼ばれます) として使用する静的ビットマップを提供するようにウィンドウに指示します。

パラメーター

wParam

使用されていません。

lParam

使用されていません。

戻り値

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

解説

ウィンドウの ライブ プレビュー ( ピーク プレビューとも呼ばれます) は、ユーザーがタスク バーのウィンドウのサムネイルの上にマウス ポインターを移動するか、Alt + TAB ウィンドウでサムネイルフォーカスを与えると表示されます。 このビューは、ウィンドウのフルサイズのプレビューであり、ライブ スナップショットまたは象徴的な表現にすることができます。

デスクトップ ウィンドウ マネージャー (DWM) は、次の状況がすべて当てはまる場合に、このメッセージをウィンドウに送信します。

  • ウィンドウでライブ プレビューが呼び出されました。
  • DWMWA_HAS_ICONIC_BITMAP属性はウィンドウで設定されます。
  • このウィンドウに存在するのは象徴的な表現だけです。

このメッセージを受信するウィンドウは、フル スケールビットマップを生成することによって応答する必要があります。 その後、ウィンドウは DwmSetIconicLivePreviewBitmap 関数を呼び出して、ライブ プレビューを設定します。 ウィンドウが特定の時間内にビットマップを設定しない場合、DWM はウィンドウに独自の既定のアイコン表現を使用します。

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

        case WM_DWMSENDICONICLIVEPREVIEWBITMAP:
        {
            // This window is being asked to provide a bitmap to show in Peek preview.
            // This indicates the thumbnail in the taskbar is being previewed.
            RECT rectWindow = {0, 0, 0, 0};
            if (GetClientRect(hwnd, &rectWindow))
            {
                nWidth = rectWindow.right - rectWindow.left;
                nHeight = rectWindow.bottom - rectWindow.top;
            }

            hbm = CreateDIB(nWidth, nHeight);
            if (hbm)
            {
                hr = DwmSetIconicLivePreviewBitmap(hwnd, hbm, NULL, DWM_SIT_DISPLAYFRAME);
                DeleteObject(hbm);
            }
        }
        break;

完全なコードについては、「 Iconic Thumbnail と Live Preview Bitmap のカスタマイズ 」サンプルを参照してください。

要件

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

関連項目

WM_DWMSENDICONICTHUMBNAIL

DwmInvalidateIconicBitmaps