Я протестировал это в одном из своих приложений MFC для песочницы и подтвердил этот результат.
Если элемент выбран в редактируемом комбинированном ящике, в следующий раз, когда комбинированный ящик получит сообщение о смене окон, он отправит выбранный текстСообщение Windows, которое выделяет весь текст.
Получение и выбор текста окна из редактирования в редактируемом комбинированном списке ненадежны, поэтому мы вместо этого добавляем элемент и выбираем его, чтобы изменить текст комбинированного списка, который реагирует так же, как ипользователь выбирает элемент.В следующий раз, когда все пересчитывается при движении, SetWindowPos вызывает выбор текста для редактирования.
Переопределение сообщения WindowPosChanging имеет странные результаты, потому что выпадающий список фактически игнорирует установку его высоты.То, что он делает со значением высоты, вычитает то, что он вычисляет по высоте (на основе размера шрифта), и использует остаток для высоты выпадающего списка.Почему у меня нет метода установки высоты выпадающего списка, я не знаю.
Так что единственное, о чем я могу думать, это иметь флаг члена, который переопределяет сообщение seltext и ничего не делает, если флаг установлен, но этоужасное решение.
Любой совет, как предотвратить выделение текста?