2017-12-04 26 views
2

MFC 프로젝트가 있습니다. 그것은 40 개 이상의 언어를 지원합니다.메뉴 잘림

내 컴퓨터에는 두 대의 모니터가 있습니다. 둘 다 다른 크기의 모니터와 다른 해상도입니다.

작은 모니터로 응용 프로그램을 옮기면 전체 언어 메뉴가 표시되지 않습니다. 스크롤 막대가 표시되는 것을 이해했습니다. 왜 안 그래?

내 메뉴는 표준 메뉴입니다. 멋진 일은 없어.

주 모니터의 해상도가 높기 때문에 전체 메뉴를 볼 수 있습니다.

알려 주시기 바랍니다.

감사합니다. Menu

+1


나는 당신의 프로그램이 "알고는 dpi"반대로 "모니터 dpi의 당 인식"가정 참조? –

+0

나는 정직한 대답을 모른다. 어떻게 검토해야합니까? –

답변

3

DPI 인식을 설정하는 여러 가지 방법이 있습니다. 이 값을 어떻게 설정 했느냐에 달려 있습니다.

클릭 "Project Properties" ->"Manifest Tools" -> 문제를 설명 할 수 "DPI Awareness"

그것은 귀하의 경우 "High DPI Aware"을 말할 수있다. "Per Monitor High DPI Aware"

enter image description here


로 변경하거나 매니페스트 파일에서이 값을 설정할 수 있습니다 dpiAware 섹션에서이 매니페스트 파일의 값은 "True/PM" 대신 "True"해야한다. 매니페스트 파일의 이름은 "myapp.exe.manifest"이며 리소스 디렉토리에 있어야합니다. 문제를 설명 할 수있는 값이 "True" 수 있습니다 귀하의 경우에는

<dpiAware>True/PM</dpiAware> 

.


또는 SetProcessDpiAwareness을 사용 중일 수 있습니다. 이 경우 값 PROCESS_PER_MONITOR_DPI_AWARE을 사용해야합니다.

SetProcessDPIAware을 사용할 수도 있습니다. 이 함수는 더 이상 사용되지 않습니다.

Creating a DPI-Aware Application
High DPI Reference

+0

대단히 감사합니다. 내 설정은 ** 높음 DPI 인식 **으로 설정되었습니다. 다른 설정으로 조정했는데 메뉴가 두 모니터에서 제대로 표시됩니다. 고맙습니다. :) –