0

我在 MFC 中有一个带有下拉属性的组合框。

当我打开一个包含此组合框的对话框时,该组合框中的文本会突出显示。当我单击它时,就在此组合框的编辑字段中的最后一个字符旁边,假设我插入了一个字符 C,它写在末尾,但光标移动到开头。

这只会发生一次,如果我再次将光标移动到结束并开始写作,一切都很好。

当焦点丢失时,再次编辑它会导致上述问题。

同样在代码中,对此控件没有任何特殊处理。

我不明白,为什么会这样?

任何建议或建议都会有所帮助。

谢谢

4

1 回答 1

0

您可以在组合框的 ON_CBN_EDITUPDATE 处理程序中尝试此操作-

{

DWORD dwSel =  m_mycombo.GetEditSel();
// Only do this if no characters are selected
if( LOWORD( dwSel ) != LOWORD( dwSel ) ) return;

// code you have added handler for

m_mycombo.SetEditSel( LOWORD( dwSel ), LOWORD( dwSel ) );

}

于 2013-03-08T07:00:23.413 回答