윈도우:창 장식에 마우스를 놓으십시오.
문제
거의 모든 Windows 응용 프로그램에서 클라이언트가 아닌 영역에서 마우스 버튼을 누르고 있으면 페인팅이 중지되는 것을 확인했습니다.이것이 왜 필요한가요?
예를 들어 회전하는 큐브를 표시하는 Managed Direct 3D 애플리케이션이 있습니다.제목 표시줄 위에 포인터를 놓고 마우스 버튼을 누르고 있으면 루프에 그러한 조건을 코딩하지 않았더라도 큐브 회전이 중단됩니다.
왜 그림이 중단되나요?이점은 무엇입니까?가장 중요한 것은 이 문제를 어떻게 해결할 수 있는가입니다.
해결책
제목 표시줄을 클릭하면 다음이 표시됩니다. 잠시 멈춤 창 관리자는 사용자가 클릭하고 있는지 드래그를 시작하는지(창 이동) 여부를 확인하려고 시도합니다.여전히 버튼을 누르고 있으면 드래그입니다.창 관리자는 자체 메시지 루프를 설정하고 사용자가 마우스를 놓을 때까지 메시지를 전달합니다.창은 여전히 메시지가 전달되기 때문에 메시지를 처리할 수 있어야 하지만, 애니메이션이 사용자 정의 메시지 루프에 의존하는 경우 모달 드래그 루프가 끝날 때까지 꼼짝 못하게 됩니다.
메시지에 대한 응답으로 애니메이션을 트리거하여 이 문제를 해결하세요.나에게는 타이머가 좋은 선택인 것 같다.
제휴하지 않습니다 StackOverflow