Mfc 更新可编辑组合的文本值时出现问题

Mfc 更新可编辑组合的文本值时出现问题,mfc,visual-studio-2017,ccombobox,Mfc,Visual Studio 2017,Ccombobox,我的对话框上有一个简单的可编辑组合框 下拉列表中有几个预定义的文本值。其中一项是: "Test 123" 组合框映射到CString变量m_strNotes 如果我这样做: m_strNotes = _T("Test"); UpdateData(FALSE); 我发现组合框最后选择了“test123” 相反,我必须使用m_cbTextValues.SetWindowText(_T(“Test”)和使用m_strNotes变量的旁路类型 我为什么要这么做?由于cmbobox可以编辑,因此文本不

我的对话框上有一个简单的可编辑组合框

下拉列表中有几个预定义的文本值。其中一项是:

"Test 123"
组合框映射到
CString
变量
m_strNotes

如果我这样做:

m_strNotes = _T("Test");
UpdateData(FALSE);
我发现组合框最后选择了“test123”

相反,我必须使用
m_cbTextValues.SetWindowText(_T(“Test”)和使用
m_strNotes
变量的旁路类型


我为什么要这么做?由于
cmbobox
可以编辑,因此文本不必位于下拉列表中。因此,当我使用前一种方法时,为什么它不设置编辑文本,而不尝试在下拉列表数据中找到合适的匹配项呢?

这是使用
DDX\u CBString
的预期行为,它对选择进行前缀字符串比较。而是使用
DDX\u CBStringExact
进行精确匹配。

!我不知道。我假设这不能通过ClassWizard进行调整,我必须手动调整代码。