[DELPHI] Problem ze scroollingiem formatki...

0

Witam.

Mam nastepujacy problem.
Wyobrazmy sobie ze na formatce tworze np. 20 editow. PO prawej stronie tworzy mi sie scroollbar do przewijania...
Jak zrobic zebym mogl przewijac scroolbara za pomoca rolki od myszki ??? Wiem ze sa zdarzenia OnMouseWheel, OnMouseWheelUp, OnMouseWheelDown i byc moze to do tego sluzy. Ale zupelnie nie wiem jak go oprogramowac...

Z gory dzieki za pomoc
Ciachu

0

OnMouseWheelUp

Scroll.Position := Scroll.Position + 1

OnMouseWheelDown

Scroll.Position := Scroll.Position - 1

cośw tym stylu

0

Problem pojawia się, gdy aktywny jest komponent np. Tcombobox, wtedy przewijana jest zarówno strona jak i elementy comboboxa. Co zrobić aby zablokować te drugie?

0

OK, dzieki za pomoc. Dokladnie rzecz ujmujac trzeba bylo wpisac w obsludze zdarzen cos takiego:

Form1.VertScrollBar.Position:= Form1.VertScrollBar.Position +/- 25;
0

Jak już wspomniał tp, problem pozostaje nierozwiązany, gdyż komponenty typu np. TCombobox, samodzielnie wychwytują rolkę i przewijają się bez względu na to czy użytkownik przechwycił zdarzenie i wykorzystał je do czegoś innego. Jedyny sposób jaki aktualnie przychodzi mi na myśl, to to stworzenie klasy pochodnej dla Tcombobox i spróbować zablokować dymyślne wychwytywanie zdarzenia rolki przez ten komponent, ale na obecną chwilę nie znam dokładnego rozwiązania.

0

Może wystarczy w OnMouseWheelDown wyłączyc focusa ComboBoxowi, a potem w OnMouseWheelUp ponownie go przywrócić :0 .

0

w OnMouseWheel dajesz: Form1.ActiveControl := nil; ale wtedy combobox mieni się o jedną pozycję

1 użytkowników online, w tym zalogowanych: 0, gości: 1