Share via


WM_DWMSENDICONICLIVEPREVIEWBITMAP訊息

指示視窗提供靜態點陣圖,以作為 即時預覽 (也稱為該視窗的 預覽預覽) 。

參數

wParam

未使用。

lParam

未使用。

傳回值

如果應用程式處理此訊息,它應該會傳回零。

備註

當使用者將滑鼠指標移至工作列中視窗的縮圖上方,或提供 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;

如需完整的程式碼,請參閱 自訂圖示縮圖和即時預覽點陣圖 範例。

規格需求

需求
最低支援的用戶端
Windows 7 [僅限傳統型應用程式]
最低支援的伺服器
Windows Server 2008 R2 [僅限傳統型應用程式]
標頭
Dwmapi.h

另請參閱

WM_DWMSENDICONICTHUMBNAIL

DwmInvalidateIconicBitmaps