【发布时间】:2015-08-06 12:16:52
【问题描述】:
我正在使用 CComboBox 控件。当我在其中输入一些字符并检查输入了哪个字母(在 PreTranslateMessage() 中)时,我总是在其消息的 wParam 中得到大写字母。我的 CComboBox 控件没有大写属性 TRUE。为什么会这样?
【问题讨论】:
-
您可能正在检查 WM_KEYDOWN,并获得扫描码(识别您按下的物理键)。您需要检查 WM_CHAR。为什么使用
PreTranslateMessage而不是普通的消息处理程序? -
CComboBox 属性“大写”如何影响发送给它的消息?该属性只能影响组合框对其接收到的消息的处理方式。 (即:收到
WM_CHAR('a')时表现得好像收到了WM_CHAR('A')) -
@peterchen:是的,我正在检查 WM_KEYDOWN。明白了:)谢谢
-
@MSalters:明白了 :) 谢谢。我认为该属性也可能会更改输入。