문제

(MFC 질문) CSCrollView에서 현재 표시된 클라이언트 영역을 결정하는 가장 좋은 방법은 무엇입니까? 가시 부분의 크기 만 있으면되므로 getClientRect ()는 여기서 작동하지 않습니다.

도움이 되었습니까?

해결책

getClientRect ()를 사용해야하지만 잘못된 질문을하고 있다고 생각합니다. 스크롤 된보기에는 물리적으로 스크롤되는 매우 큰 클라이언트 창이 있습니다. 대신, 스크롤하면 DC의 viewportext 및 매핑 모드가 조정되므로 뷰가 실제보다 큰 것처럼 보입니다. 따라서 현재 뷰포트의 오른쪽 하단 모서리의 왼쪽 상단에서 선을 그려 보려면 getViewPortorg () 및 getViewPortExt ()가 필요합니다. 이것이 잘못된 값을 반환하면 cscrollview를 사용하는 데 문제가 있습니다. setscrollsizes ()에게 전화 했습니까?

다른 팁

ondraw () 함수 내에서 pdc-> getViewPortorg 및 pdc-> getViewPortExt를 호출 할 수 있습니다.

편집하다: 죄송합니다. 뷰포트 범위는 스케일링 요소 일뿐입니다. 나는 여기서 당신이 정말로 필요한 것이 클라이언트 직장이라는 데 동의합니다.

네, 둘 다 맞습니다. getClientRect는 정확히 내가 필요한 것입니다. 내 뇌 방귀 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top