Einzelnen Beitrag anzeigen

Benutzerbild von Tim-94
Tim-94

Registriert seit: 3. Jul 2008
Ort: Hamburg
132 Beiträge
 
Delphi 10.3 Rio
 
#1

Mit Mausrad in TScrollBox scrollen

  Alt 18. Sep 2012, 16:08
Hallo alle zusammen
Ich habe eine Frage zu folgendem Code:

Delphi-Quellcode:
{-------------------------------------------------------------------}  
procedure TMainForm.FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
  if PtInRect(PScrollBox.ClientRect, ScreenToClient(MousePos)) then
    PScrollBox.OnMouseWheelUp(Sender, Shift, MousePos, Handled);

  {if PtInRect(AScrollBox.ClientRect, ScreenToClient(MousePos)) then
    AScrollBox.OnMouseWheelUp(Sender, Shift, MousePos, Handled);}

end;
{-------------------------------------------------------------------}
procedure TMainForm.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
  MousePos: TPoint; var Handled: Boolean);
begin
  if PtInRect(PScrollBox.ClientRect, ScreenToClient(MousePos)) then
    PScrollBox.OnMouseWheelDown(Sender, Shift, MousePos, Handled);

  {if PtInRect(AScrollBox.ClientRect, ScreenToClient(MousePos)) then
    AScrollBox.OnMouseWheelDown(Sender, Shift, MousePos, Handled);}

end;
{-------------------------------------------------------------------}
{-------------------------------------------------------------------}
procedure TMainForm.AScrollBoxMouseWheelDown(Sender: TObject;
  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
var
  vsb: TControlScrollbar;
begin
  with AScrollBox do begin
    vsb := VertScrollbar;
    vsb.Position := vsb.Position + vsb.Increment;
  end;
  Handled := true;
end;
{-------------------------------------------------------------------}
procedure TMainForm.AScrollBoxMouseWheelUp(Sender: TObject;
  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
var
  vsb: TControlScrollbar;
begin
  with AScrollBox do begin
    vsb := VertScrollbar;
    vsb.Position := vsb.Position - vsb.Increment;
  end;
  Handled := true;
end;
{-------------------------------------------------------------------}
{-------------------------------------------------------------------}
procedure TMainForm.PScrollBoxMouseWheelDown(Sender: TObject;
  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
var
  vsb: TControlScrollbar;
begin
  with PScrollBox do begin
    vsb := VertScrollbar;
    vsb.Position := vsb.Position + vsb.Increment;
  end;
  Handled := true;
end;
{-------------------------------------------------------------------}
procedure TMainForm.PScrollBoxMouseWheelUp(Sender: TObject;
  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
var
  vsb: TControlScrollbar;
begin
  with PScrollBox do begin
    vsb := VertScrollbar;
    vsb.Position := vsb.Position - vsb.Increment;
  end;
  Handled := true;
end;
{-------------------------------------------------------------------}

So funktioniert der Code ohne Probleme für das Scrollen in der PScrollBox.

Wenn ich nun jedoch beim "FormMouseWheelUp"- & "FormMouseWheelDown"-Ereignis jeweils den Code für die AScrollBox aus dem Kommentar nehme, scrollt immer nur noch die PScrollBox.
Wie ist das möglich?

Schonmal vielen Dank für eure Hilfe!

Geändert von Tim-94 (18. Sep 2012 um 16:38 Uhr)
  Mit Zitat antworten Zitat