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 |