WM_DWMSENDICONICLIVEPREVIEWBITMAP сообщение

Указывает окну предоставить статическое растровое изображение для использования в качестве динамического предварительного просмотра (также известного как предварительный просмотр) этого окна.

Параметры

wParam

Не используется.

lParam

Не используется.

Возвращаемое значение

Если приложение обрабатывает это сообщение, оно должно возвращать ноль.

Комментарии

Динамический предварительный просмотр (также известный как предварительный просмотр) окна появляется, когда пользователь перемещает указатель мыши на эскиз окна на панели задач или перемещает фокус эскиза в окне ALT+TAB. Это представление является полноразмерным предварительным просмотром окна и может быть динамическим snapshot или знаковым представлением.

Диспетчер окон рабочего стола (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