Поделиться через


Функция DwmExtendFrameIntoClientArea (dwmapi.h)

Расширяет рамку окна в клиентную область.

Синтаксис

HRESULT DwmExtendFrameIntoClientArea(
  [in] HWND          hWnd,
  [in] const MARGINS *pMarInset
);

Параметры

[in] hWnd

Дескриптор окна, в котором рамка будет расширена в клиентную область.

[in] pMarInset

Указатель на структуру MARGINS , которая описывает поля, используемые при расширении фрейма в клиентную область.

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

Если эта функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Эта функция должна вызываться всякий раз, когда композиция Диспетчера окон рабочего стола (DWM) переключается. Обработка сообщения WM_DWMCOMPOSITIONCHANGED для уведомления об изменении композиции.

Используйте отрицательные значения полей для создания эффекта "лист стекла", когда клиентская область отображается как сплошная поверхность без границ окна.

Примеры

В следующем примере показано, как расширить нижнее поле, создав большую нижнюю рамку.


HRESULT ExtendIntoClientBottom(HWND hwnd)
{
   // Set margins, extending the bottom margin
   MARGINS margins = {0,0,0,25};
   HRESULT hr = S_OK;

   // Extend frame on the bottom of client area
   hr = DwmExtendFrameIntoClientArea(hwnd,&margins);
   if (SUCCEEDED(hr))
   {
      // ...
   }
   return hr;
}

В следующем примере показан эффект "листового стекла", при котором клиентская область отображается без границы окна.


HRESULT ExtendIntoClientAll(HWND hwnd)
{
   // Negative margins have special meaning to DwmExtendFrameIntoClientArea.
   // Negative margins create the "sheet of glass" effect, where the client area
   // is rendered as a solid surface with no window border.
   MARGINS margins = {-1};
   HRESULT hr = S_OK;

   // Extend the frame across the entire window.
   hr = DwmExtendFrameIntoClientArea(hwnd,&margins);
   if (SUCCEEDED(hr))
   {
      // ...
   }
   return hr;
}

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header dwmapi.h
Библиотека Dwmapi.lib
DLL Dwmapi.dll

См. также раздел

Общие сведения о размытии dwm