Compartilhar via


WM_DWMSENDICONICLIVEPREVIEWBITMAP mensagem

Instrui uma janela a fornecer um bitmap estático a ser usado como uma visualização ao vivo (também conhecida como visualização de espiar) dessa janela.

Parâmetros

wParam

Não usado.

lParam

Não usado.

Valor retornado

Se um aplicativo processar essa mensagem, ela deverá retornar zero.

Comentários

Uma visualização ao vivo (também conhecida como Visualização prévia) de uma janela é exibida quando um usuário move o ponteiro do mouse sobre a miniatura da janela na barra de tarefas ou dá o foco em miniatura na janela ALT+TAB. Essa exibição é uma visualização completa da janela e pode ser uma instantâneo ao vivo ou uma representação icônica.

O DWM (Gerenciador de Janelas da Área de Trabalho) enviará essa mensagem para uma janela se todas as seguintes situações forem verdadeiras:

  • A visualização ao vivo foi invocada na janela.
  • O atributo DWMWA_HAS_ICONIC_BITMAP é definido na janela.
  • Uma representação icônica é a única que existe para esta janela.

A janela que recebe essa mensagem deve responder gerando um bitmap em escala total. Em seguida, a janela chama a função DwmSetIconicLivePreviewBitmap para definir a visualização ao vivo. Se a janela não definir um bitmap em um determinado período de tempo, o DWM usará sua própria representação icônica padrão para a janela.

Exemplos

O exemplo a seguir demonstra uma resposta à mensagem WM_DWMSENDICONICLIVEPREVIEWBITMAP . O exemplo chama a função DwmSetIconicLivePreviewBitmap com um identificador para um bitmap personalizado e independente do dispositivo a ser usado como representação da janela.

        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 obter o código completo, consulte o exemplo Personalizar uma miniatura icônica e um bitmap de visualização ao vivo .

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Cabeçalho
Dwmapi.h

Confira também

WM_DWMSENDICONICTHUMBNAIL

DwmInvalidateIconicBitmaps