CComboBox автоматически выделяет текст после вызова MoveWindow

StackOverflow https://stackoverflow.com/questions/626511

  •  06-07-2019
  •  | 
  •  

Вопрос

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top