2011-11-03 92 views
0

因此,我正在製作一個MFC應用程序,它可以處理一些不同的消息,並根據處理的消息顯示不同的輸出。所以現在我有一個處理WM_KEYDOWN消息並顯示消息的輸出。現在我也有一個能夠處理WM_RBUTTONDOWN的東西,我想要做的就是啓動我正在製作的Brick Breaker遊戲。我遇到的問題是,一旦我輸入WM_RBUTTONDOWN,我想禁用某些鍵,以便我可以在不調用WM_KEYDOWN的情況下控制槳。C++ MFC消息處理

TL:DR如何在MFC中禁用WM_KEYDOWN中的某些鍵。

回答

3

在MFC執行其消息映射轉換之前,您可以覆蓋PreTranslateMessage以查看並繞過消息。

+0

所以真正要做的是重寫'PreTranslateMessage',然後添加一些加速器到類的左鍵和右鍵的虛擬鍵。 – Thoross

0

您不應該在您的應用程序中禁用鍵。當另一個程序關注時,所有輸入都應該轉到該程序。

0

您會希望將您感興趣的密鑰轉發給驅動您的對象的代碼。

0

您不需要禁用密鑰。根據應用程序的狀態,決定是否處理密鑰取決於您的代碼。