我在MFC中有一个带有下拉属性的组合框。
当我打开具有此组合框的对话框时,该组合框中的文本将突出显示。当我单击它时,就在这个组合框的编辑字段中的最后一个字符旁边,假设我插入了一个字符 C,它写在末尾,但光标移动到开头。
这种情况只发生过一次,如果我移动光标结束并开始写入,一切都很好。
当焦点丢失时,再次编辑它会导致上述问题。
此外,在代码中,此控件没有任何特殊处理。
我不明白,为什么会这样?
任何建议或建议都会有所帮助。
谢谢
您可以在组合框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 ) );
}