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

2 Responses to “Usando o Botão Scroll em um TScrollBox”

  1. Cesar Romero on January 20th, 2009 3:13 pm

    Simples e útil, valeu!!!

  2. Byanka on August 14th, 2009 2:42 am

    eu tava louca por esse código! Ele da pra usar no form também que bom!

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="">