我目前在CComboBox中使用CFormView遇到一个非常奇怪的问题。

将字符串添加到组合框(使用WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWN | CBS_SORT | CBS_AUTOHSCROLL创建)后,我通过CComboBox::SetCurSel选择一个条目,并在MoveWindow派生类的OnSize()处理程序中通过CFormView调整组合框的大小。

一旦包含对MoveWindow的调用,组合框的编辑部分中的整个文本就会被选中。如果我删除对MoveWindow的调用,则不会选择文本。这不仅会发生,而且会发生所有使用的组合框。

我在这一点上迷失了方向。任何提示,不胜感激!

最佳答案

当组合框获得焦点时,选择所有文本是Windows的标准行为。我猜想MoveWindow正在将焦点重置在控件上。

尝试使用CComboBox::SetEditSel在MoveWindow之后删除选择。

关于c++ - CComboBox调用MoveWindow后自动选择文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/626511/

10-11 19:09