Usando o Botão Scroll em um TScrollBox

Um problema muito interessante foi recentemente apresentado em um fórum brasileiro: como usar o botão de scroll do mouse para fazer a rolagem em um componente TScrollBox?

A resposta é surpreendentemente simples. Basta usar os eventos OnMouseWheelDown e OnMouseWheelUp do TScrollBox conforme o exemplo abaixo:

procedure TForm1.ScrollBox1MouseWheelDown(Sender: TObject;
  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
  with ScrollBox1.VertScrollBar do
  begin
    Position := Position + Increment;
  end;
end;
 
procedure TForm1.ScrollBox1MouseWheelUp(Sender: TObject;
  Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
  with ScrollBox1.VertScrollBar do
  begin
    Position := Position - Increment;
  end;
end;

Alterando o valor da propriedade VertScrollBar.Increment do TScrollBox no Object Inspector obtém-se velocidades de rolagem diferentes.

PS: Esses títulos meio-português, meio-inglês ficam cada dia mais ridículos.

Comments

Deixe uma Resposta




XHTML: Você pode usar essas tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="">