CComboBox автоматически выделяет текст после вызова MoveWindow - PullRequest
1 голос
/ 09 марта 2009

У меня сейчас очень странная проблема с CComboBox, используемым внутри CFormView.

После добавления строк в комбинированный список (созданный с помощью WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWN | CBS_SORT | CBS_AUTOHSCROLL) я выбираю запись с помощью CComboBox::SetCurSel и изменяю размер комбинированного списка с помощью MoveWindow в обработчике OnSize() производного класса CFormView.

Как только я включу вызов MoveWindow, весь текст в редактируемой части выпадающего списка будет выделен. Если я уберу вызов MoveWindow, текст не будет выделен. Это происходит не только для одного, но и для всех используемых комбинированных списков.

Я как-то потерян в этот момент. Любая подсказка очень ценится!

1 Ответ

3 голосов
/ 09 марта 2009

Выбор всего текста является стандартным поведением Windows, когда поле со списком получает фокус. Я думаю, MoveWindow сбрасывает фокус на элементе управления.

Попробуйте использовать CComboBox :: SetEditSel, чтобы удалить выделение после MoveWindow.

...