문제

거의 모든 Windows 응용 프로그램에서 클라이언트가 아닌 영역에서 마우스 버튼을 누르고 있으면 페인팅이 중지되는 것을 확인했습니다.이것이 왜 필요한가요?

예를 들어 회전하는 큐브를 표시하는 Managed Direct 3D 애플리케이션이 있습니다.제목 표시줄 위에 포인터를 놓고 마우스 버튼을 누르고 있으면 루프에 그러한 조건을 코딩하지 않았더라도 큐브 회전이 중단됩니다.

왜 그림이 중단되나요?이점은 무엇입니까?가장 중요한 것은 이 문제를 어떻게 해결할 수 있는가입니다.

도움이 되었습니까?

해결책

제목 표시줄을 클릭하면 다음이 표시됩니다. 잠시 멈춤 창 관리자는 사용자가 클릭하고 있는지 드래그를 시작하는지(창 이동) 여부를 확인하려고 시도합니다.여전히 버튼을 누르고 있으면 드래그입니다.창 관리자는 자체 메시지 루프를 설정하고 사용자가 마우스를 놓을 때까지 메시지를 전달합니다.창은 여전히 ​​메시지가 전달되기 때문에 메시지를 처리할 수 있어야 하지만, 애니메이션이 사용자 정의 메시지 루프에 의존하는 경우 모달 드래그 루프가 끝날 때까지 꼼짝 못하게 됩니다.

메시지에 대한 응답으로 애니메이션을 트리거하여 이 문제를 해결하세요.나에게는 타이머가 좋은 선택인 것 같다.

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