Compartir a través de


Función DwmExtendFrameIntoClientArea (dwmapi.h)

Extiende el marco de ventana al área de cliente.

Sintaxis

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

Parámetros

[in] hWnd

Identificador de la ventana en la que se extenderá el marco en el área de cliente.

[in] pMarInset

Puntero a una estructura MARGIN que describe los márgenes que se van a usar al extender el marco al área cliente.

Valor devuelto

Si esta función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Se debe llamar a esta función siempre que se active la composición del Administrador de ventanas de escritorio (DWM). Controle el mensaje de WM_DWMCOMPOSITIONCHANGED para la notificación de cambio de composición.

Use valores de margen negativos para crear el efecto "hoja de vidrio" donde el área de cliente se representa como una superficie sólida sin borde de ventana.

Ejemplos

En el ejemplo siguiente se muestra cómo extender el margen inferior, creando un marco inferior grande.


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;
}

En el ejemplo siguiente se muestra el efecto "hoja de vidrio" en el que el área cliente se representa sin borde de ventana.


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;
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado dwmapi.h
Library Dwmapi.lib
Archivo DLL Dwmapi.dll

Consulte también

Introducción al desenfoque de DWM