CComboBox автоматически выделяет текст после вызова MoveWindow
Вопрос
В настоящее время я испытываю очень странную проблему с 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. Р>