Einzelnen Beitrag anzeigen

Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Eine Delphi Form langsam automatisch scrollen lassen

  Alt 2. Dez 2016, 14:21
Delphi-Quellcode:

type
  TForm59 = class(TForm)
    Panel1: TPanel;
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form59: TForm59;

implementation

{$R *.dfm}

procedure TForm59.Timer1Timer(Sender: TObject);
var
  rp : integer;
begin
  HorzScrollBar.Position := HorzScrollBar.Position+100;
  if (HorzScrollbar.Position > (HorzScrollbar.Range-self.width)) then
    HorzScrollBar.Position := 0;
end;
feddich

Was brauchst du ?:

Erstmal ein Formular (Form59). Dabei sollte die Eigenschaft "AutoScroll" auf true sein, so das er bei bedarf die Scrollbalken anzeigt.

Das Panel (Panel1) hat in diesem Beispiel eine wesentlich größere Breite (width), als das Formular.

So zeigt das Formular auch automatisch unten einen Scrollbalken an.

Dann brauchst du noch einen Timer (TTimer-Komponente).

Im Event onTimer hinterlegst du obige routine. Die macht jetzt nix anderes als den Scrollbalken jede
Sekunde (Default wert im TTimer 1000 Millisekunden) um 100 Px nach rechts zu verschieben. Danach wird noch geprüft ob die Position noch im Sichtbereich des Formulars ist (range-width); Wenn nicht wird die Position einfach wieder auf 0 gesetzt und er fängt von vorne an.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat