Есть ли какое-либо сообщение для уведомлений об элементах панели управления WinAPI, которые мы можем использовать, чтобы узнать, когда текущий элемент изменен, перемещая указатель мыши над раскрывающимся списком?Получите уведомление CBN_SELCHANGE, когда элемент комбинированного поля изменен при наведении мыши
Мое предположение, что уведомление CBN_SELCHANGE должно работать и для мыши, но, к сожалению, оно отправляется только тогда, когда мы меняем выбор с помощью клавиатуры или нажимаем элемент мышью.
'CBN_SELCHANGE' опубликован только в том случае, если выбор действительно изменился. Перемещение мыши над раскрывающимся списком просто изменяет переходное состояние, чтобы отображать элементы в списке. Зачем вам нужно знать об этой детали реализации? (Вы можете подклассифицировать стандартный элемент управления со списком и самостоятельно обрабатывать сообщения мыши, если вы действительно этого хотите.). – IInspectable
@Inspectable, в проекте, над которым я работаю, наши комбинированные блоки реализуют инкрементный поиск. И нам нужно отменить поиск, когда выбор изменяется, когда указатель перемещается по выпадающему списку. В настоящее время у нас есть процедура, которая обрабатывает WM_MOUSEMOVE и использует CB_GETTOPINDEX, чтобы найти индекс элемента под указателем мыши. Но, видимо, должен быть более простой способ, чем это делает сам блок управления со списком. – TecMan
Вы собираетесь заново изобрести [Автозаполнение] (https://msdn.microsoft.com/en-us/library/windows/desktop/bb776884.aspx)? Если да, рассмотрите возможность использования системы. – IInspectable