2012-03-02 2 views
1

창이 포커스를 잃었을 때 DirectX 게임을 일시 중지하려고하는데 메시지가 일치하지 않는 것 같습니다.창이 활성화 될 때받은 메시지

Windows 모드를 사용할 때 WM_SETFOCUS 및 WM_KILLFOCUS 메시지가 수신되고 모든 것이 정상적으로 작동하지만 전체 화면 모드를 사용할 때 이러한 메시지가 수신되지 않습니다. WM_NCACTIVATE는 전체 화면 모드를 사용할 때 수신되며 정상적으로 작동하지만 작업 표시 줄에서 응용 프로그램을 최소화하면 창 모드가 수신되지 않습니다. WM_ACTIVATEAPP도 여러 경우에 수신되지 않습니다.

포커스/포커스 손실 문제를 일관되게 처리하는 방법이 있습니까? 전체 화면과 창 모드에서 수신되는 하나의 메시지 만 사용하려고합니다.

답변

3

WM_ACTIVATE을 사용해야합니다.

+0

작업 표시 줄에서 마우스로 창을 최소화 할 때 WM_NCACTIVATE와 같은 문제가 발생합니다. 메시지가 두 번 수신되고, 한 번은 wParam이 비활성이고 한 번은 wParam이 활성화됩니다. – Felics

관련 문제