2016-09-26 49 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

相关问题