> 백엔드 개발 > C++ > setwindowpos를 사용하여 여러 모니터에 Windows를 정확하게 배치하려면 어떻게해야합니까?

setwindowpos를 사용하여 여러 모니터에 Windows를 정확하게 배치하려면 어떻게해야합니까?

Patricia Arquette
풀어 주다: 2025-01-30 18:36:09
원래의
218명이 탐색했습니다.

How Can I Accurately Position Windows Across Multiple Monitors Using SetWindowPos?
setwindowpos 가있는 여러 모니터에 걸친 정확한 창 배치

를 사용하여 여러 모니터에 Windows를 효과적으로 배치하여 시스템 디스플레이 구성 및 가상 화면 개념에 대한 미묘한 이해가 필요합니다. 시스템 표시 및 가상 화면 이해 시스템 디스플레이 구성 :

SetWindowPos 기본 모니터의 원점은 (0, 0)입니다. 보조 모니터는 음의 x 좌표 (1 차 왼쪽) 또는 양의 x 좌표 (1 차 오른쪽)가 있습니다. 가상 화면 :

이것은 모든 연결된 모니터를 포함하는 개념적 디스플레이입니다. 원점은 가장 왼쪽 모니터의 왼쪽 상단 코너입니다. 너비는 모든 모니터 너비의 합이고 높이는 가장 높은 모니터의 높이입니다. 시스템 디스플레이 정보 입력 클래스를 활용 :

클래스는 중요한 화면 정보를 검색하는 방법을 제공합니다. : 주어진 창 (hwnd)이 포함 된 화면을 식별합니다 : 지정된 사각형이 포함 된 화면의 범위를 반환합니다. : 그래픽 컨텍스트 생성에 유용한 화면의 장치 이름을 검색합니다.

기본 Win32 기능 사용 : 이 기능은 모니터 식별을위한 대체 방법을 제공합니다

: 창과 관련된 모니터 핸들을 반환합니다

: 주어진 지점에 대해 모니터 핸들을 반환합니다 : 주어진 사각형의 모니터 핸들을 반환합니다 를 갖는 윈도우를 포지셔닝하고 좌표 를 모니터링합니다 를 사용하여 특정 모니터에 창을 배치하려면 다음을 따르십시오.

대상 모니터 식별 :

위에서 설명한 방법을 사용하여 원하는 모니터의

핸들을 얻습니다.

가상 화면 좌표 계산 : 기본 모니터에 대한 모니터 위치를 기반으로 창의 X 좌표를 조정하십시오. 1 차 왼쪽에있는 사람들에 대한 이전 모니터의 총 폭을 빼고, 이전 모니터의 총 폭과 오른쪽에있는 1 차를 추가하십시오. Screen.

사용

: Screen 내에서 계산 된 가상 화면 좌표를 고용하십시오 :

<code class="language-c++">SetWindowPos(hwnd, hWndInsertAfter, x, y, cx, cy, SWP_NOZORDER | SWP_NOSIZE | SWP_SHOWWINDOW);</code>
로그인 후 복사
시스템의 디스플레이 배열을 신중하게 고려하고 이러한 기술을 사용함으로써 .

위 내용은 setwindowpos를 사용하여 여러 모니터에 Windows를 정확하게 배치하려면 어떻게해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿