2016-09-26 19 views
-1

我正在使用On_Command處理程序,並且希望專門爲不同的功能使用返回和轉義鍵。請幫我理解如何做到這一點,因爲我有點受傷。謝謝。 這是我迄今爲止ON_COMMAND(IDC_CALC, &CALC::OnGlobalCALC)如何在onCommand處理程序中處理轉義和返回鍵>

完成,處理程序是

void CALC::OnGlobalCALC() 
{ 
    //Please suggest what to code here 
}; 
+1

請詳細說明。你想在命令處理程序中讀取用戶輸入(鍵盤)嗎? –

回答

0

鍵盤輸入通常是通過WM_KEYDOWN(onkeydown事件)消息發送出去。所以你可以在那裏處理它們,如果你有一個CView或CFrameWnd。

但這條消息只發送到有焦點的窗口。

如果Enter和Escape在應用程序中具有全局功能,則可以分配和使用加速表。在這種情況下,您可以定義輸入或退出是由加速器(通常在PreTranslateMessage中)處理並轉換爲WM_COMMAND消息。

但是你想要和需要使用的是嚴重依賴於你真正想要什麼和你有什麼樣的窗口。

+0

'WM_KEYDOWN'是處理錯誤的消息。你必須實現一個非常平凡的狀態機來識別你感興趣的鍵組合。使用加速器確實更容易,並且不需要任何代碼(當然不在'PreTranslateMessage'中)。不過,你是對的,問題是**方式**太模糊,無法提供任何有教養的建議。 – IInspectable

相關問題