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 |
标头 | dwmapi.h |
Library | Dwmapi.lib |
DLL | Dwmapi.dll |