Всем добрый день
Весь и-нет нарыл ни где не нашел нормальной информации почему не получается сделать прокрутку для 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???? есть ли альтернатива которая имеет возможность использовать прокрутку?