1
DwmExtendFrameIntoClientArea
으로 설정된 여백을 검색하는 방법이 있습니까?`DwmExtendFrameIntoClientArea`에 의해 이전에 설정된 여백을 얻는 방법이 있습니까?
설명서를 스캔했습니다. DwmGetWindowAttribute
이 가장 논리적 인 장소라고 생각했을 것입니다.
방법가 없습니다
DwmExtendFrameIntoClientArea
으로 설정된 여백을 검색하는 방법이 있습니까?`DwmExtendFrameIntoClientArea`에 의해 이전에 설정된 여백을 얻는 방법이 있습니까?
설명서를 스캔했습니다. DwmGetWindowAttribute
이 가장 논리적 인 장소라고 생각했을 것입니다.
방법가 없습니다
(내가 뭘하고 싶은 통해 에어로 글라스 효과를 할 수 있도록 검게 칠해야하고 어떤 부분은 부모의 배경 색상을 페인트하는 것을 삽입 한 아이의 부분 분별입니다.) 이 작업을 수행. 개발자는 클라이언트 영역으로 확장 한 프레임의 크기를 알고 있어야합니다.
MARGINS g_Margins;
g_Margins.cxLeftWidth = 0;
g_Margins.cxRightWidth = 0;
g_Margins.cyTopHeight = 15*fontHeight;
g_margins.cyBottomHeight = 7*fontHeight;
DwmExtendFrameIntoClientArea(g_hwnd, g_margins);
주 : 퍼블릭 도메인으로 공개 코드. 기여가 필요하지 않습니다.
오케이. 타사 라이브러리와의 상호 운용성에 많은 도움이됩니다. – jnm2
@ jnm2 내 생각 엔 호스트는 자식 컨트롤을 배치하는 호스트이고, 호스트는 자식 컨트롤이 유리 위에 있는지 여부를 결정합니다. 주인은 지금 아이에게 렌더링을 알리는 사람이어야합니다. 또 다른 방법은 구성 요소 라이브러리가 항상 컨트롤의 모양에 적합한 알파 채널을 사용하여 그려지는 것입니다. 비 글래스에서 렌더링 될 때 알파는 무시됩니다. 유리 위에 렌더링되면 컨트롤이 의도 한대로 나타납니다. –