Я не смог понять, почему я не могу вручную прокручивать компонент TComboBox, когда я программно выставляю список выпадающего списка. Вот код, который я использую:Ручная прокрутка через TComboBox
SendMessage(ComboBox1.handle, CB_SHOWDROPDOWN, Integer(True), 0);
Это приводит к появлению списка выпадающего списка. Однако, если я попытаюсь использовать свою клавиатуру и использовать клавиши со стрелками вверх и вниз, список выпадающего списка сразу же закрывается. Как сохранить список с автоматическим закрытием при использовании клавиш навигации вверх/вниз?
Стоит отметить, что ОП в 'CB_SHOWDROPDOWN' только один из более широкого набора оконных сообщений, необходимых для воссоздания полной последовательности активации и опускаясь выпадающим (именно поэтому он не работает сам по себе). Согласился, что это предпочтительный подход. –
Добавление ActiveControl: = ComboBox1; и ComboBox1.DroppedDown: = True; к коду не имеет значения. Выпадающий список по-прежнему будет автоматически закрываться, как только будет нажата клавиша со стрелкой вниз. – user1527613
@user - С моим тестом здесь, с совершенно новой формой с кнопкой и выпадающим списком, активизация combobox делает разницу. Фактически, если я не активирую его, элементы не могут быть изменены с помощью клавиатуры, но выпадающее меню не закрывается. Я предлагаю вам сделать то же самое и попробовать это с новым проектом. –