关闭ComboBox的自动完成功能

时间:2013-08-20 09:57:09

标签: winapi autocomplete ccombobox

标准Windows / MFC ComboBox(下拉模式)具有自动完成功能,我想关闭,但不知道如何。

示例1:使用列表值“Abc”和“Def”创建一个ComboBox。输入“A”作为编辑值,然后使用下拉按钮。 “A”将更改为“Abc”。

示例2:相同的起始值。打开下拉列表,输入“A”作为编辑值,然后按TAB键。 “A”将更改为“Abc”。

这些示例甚至可以在Visual Studio IDE对话框编辑器测试模式下工作。不需要编译的exe。

从“A”到“Abc”的变化可能是一个特征,但客户并不想要它。有什么办法可以阻止吗?

1 个答案:

答案 0 :(得分:0)

您可以通过调用SHAutoComplete来微调任何编辑控件的自动完成行为。要获取ComboBox的Edit控件部分的句柄,请向ComboBox控件发送CBEM_GETEDITCONTROL消息。

要删除不需要的功能,SHAutoComplete的标记不得包含SHACF_USETAB