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 |
라이브러리 | Dwmapi.lib |
DLL | Dwmapi.dll |