mensaje de WM_DWMSENDICONICLIVEPREVIEWBITMAP

Indica a una ventana que proporcione un mapa de bits estático para usarlo como vista previa dinámica (también conocido como vista previa de inspección) de esa ventana.

Parámetros

wParam

No se usa.

lParam

No se usa.

Valor devuelto

Si una aplicación procesa este mensaje, debe devolver cero.

Comentarios

Una vista previa en directo (también conocida como vista previa de inspección) de una ventana aparece cuando un usuario mueve el puntero del mouse sobre la miniatura de la ventana en la barra de tareas o proporciona el foco en miniatura en la ventana ALT+TAB. Esta vista es una vista previa de tamaño completo de la ventana y puede ser una instantánea dinámica o una representación emblemática.

El Administrador de ventanas de escritorio (DWM) envía este mensaje a una ventana si se cumplen todas las situaciones siguientes:

  • Se ha invocado la vista previa dinámica en la ventana.
  • El atributo DWMWA_HAS_ICONIC_BITMAP se establece en la ventana.
  • Una representación emblemática es la única que existe para esta ventana.

La ventana que recibe este mensaje debe responder generando un mapa de bits de escala completa. A continuación, la ventana llama a la función DwmSetIconicLivePreviewBitmap para establecer la vista previa en directo. Si la ventana no establece un mapa de bits en una cantidad determinada de tiempo, DWM usa su propia representación emblemática predeterminada para la ventana.

Ejemplos

En el ejemplo siguiente se muestra una respuesta al mensaje WM_DWMSENDICONICLIVEPREVIEWBITMAP . En el ejemplo se llama a la función DwmSetIconicLivePreviewBitmap con un identificador a un mapa de bits personalizado independiente del dispositivo para usarlo como representación de la ventana.

        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;

Para obtener el código completo, consulta el ejemplo Personalizar una miniatura icónica y un mapa de bits de vista previa dinámica .

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2008 R2 [solo aplicaciones de escritorio]
Encabezado
Dwmapi.h

Consulte también

WM_DWMSENDICONICTHUMBNAIL

DwmInvalidateIconicBitmaps