以下は私のメッセージフィルターです:
bool MyFilter::PreFilterMessage(Message %m){
switch(m.Msg){
case WM_CLOSE:
case WM_DESTROY:
case WM_NCDESTROY:
case WM_QUIT:
Debug::WriteLine(L"Gone!");
break;
case WM_MOUSEMOVE:
Debug::WriteLine(L"A mouse! Catch! Catch!!! CATCH!!");
break;
}
return false;
}
ほとんどのメッセージを問題なくフィルタリングしていることを確認しました。ただし、ウィンドウの閉じるボタンがクリックされた後にディスパッチされたメッセージを受信していません ( WM_CLOSE
、WM_DESTROY
、WM_NCDESTROY
およびWM_QUIT
)。どうしてこれなの?