Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Tipp: Scrollen in ScrollBox mit Mausrad (https://www.delphipraxis.net/130537-tipp-scrollen-scrollbox-mit-mausrad.html)

Carsten1234 10. Mär 2009 07:45


Tipp: Scrollen in ScrollBox mit Mausrad
 
Hallo,

da ich das Problem hatte, dass in einer SchrollBox via Mausrad nicht gescrollt wurde (insbesondere dann, wenn noch Panels in der ScrollBox waren), begab ich mich via Tante Gurgel auf die Suche nach einer Lösung und fand das:
Delphi-Quellcode:
procedure TForm1.FormMouseWheelDown(
Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
  MousePos := ScreenToClient(MousePos);
  If
      (MousePos.X > ScrollBox1.Left) and
      (MousePos.Y > ScrollBox1.Top) and
      (MousePos.X < ScrollBox1.Left + ScrollBox1.Width) and
      (MousePos.Y < ScrollBox1.Top + ScrollBox1.Height)
  then ScrollBox1.Perform(WM_VSCROLL,1,0);

end;

procedure TForm1.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
  MousePos := ScreenToClient(MousePos);
  If
      (MousePos.X > ScrollBox1.Left) and
      (MousePos.Y > ScrollBox1.Top) and
      (MousePos.X < ScrollBox1.Left + ScrollBox1.Width) and
      (MousePos.Y < ScrollBox1.Top + ScrollBox1.Height)
  then ScrollBox1.Perform(WM_VSCROLL,0,0);
end;
Quelle: Klick

Vielleicht kann es ja jemand gebrauchen.

Gruß, Carsten

toms 10. Mär 2009 18:59

Re: Tipp: Scrollen in ScrollBox mit Mausrad
 
und mit SB_* Konstanten:

Delphi-Quellcode:
ScrollBox1.Perform(WM_VSCROLL, SB_LINEUP, 0)
Delphi-Quellcode:
ScrollBox1.Perform(WM_VSCROLL, SB_LINEDOWN, 0)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz