![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Всем добрый день
Весь и-нет нарыл ни где не нашел нормальной информации почему не получается сделать прокрутку для DBLookupcombobox Код:
procedure TCVForm.HandleMousewheel(var Msg: TMsg; var Handled: Boolean); begin case Msg.message of WM_MOUSEWHEEL: begin if (Screen.ActiveForm.ActiveControl <> nil) and (Screen.ActiveForm.ActiveControl.ClassName = 'TDBLookupComboBox') then begin Msg.message := WM_KEYDOWN; Msg.lParam := 0; if Msg.wParam > 0 then Msg.wParam := VK_UP else Msg.wParam := VK_DOWN; Handled := False; end; end; end; end; Код хороший - но есть один минус почему то Msg.wParam не получает значение ниже ноля и прокрутка работает только вверх Проверил что же творится в Msg.wParam оказалось когда прокручиваешь колесо мышки вверх значение Msg.wParam равно 7864320 и не меняется а когда крутишь колесо вниз 4287102976 Что это такое?? почему так?? - При поиске даже обнаружил такие ответы как Delphi давно имеет эту проблему с прокруткой DBLookupcombobox и до сих пор не решили Скажите плиз как вы справляетесь с такой проблемой?? чем заменить DBLookupcombobox???? есть ли альтернатива которая имеет возможность использовать прокрутку? Нет ничего не возможного. Вопрос только во времени... |