Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TImage Height und Width bei MouseMove langsam erhöhen? (https://www.delphipraxis.net/55999-timage-height-und-width-bei-mousemove-langsam-erhoehen.html)

mlspider 30. Okt 2005 10:15


TImage Height und Width bei MouseMove langsam erhöhen?
 
Hallo,

Das ändern der Größe von TImage bei MouseMove ist eigentlich mit zwei Zeilen erledigt.

Delphi-Quellcode:
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 Image1.Height:=160;
 Image1.Width:=200;
end;
Wie kann man nun die ganze Geschichte so abändern, daß sich die Größe langsam auf die angegebenen Werte ändert? Ich habe es mit einem Timer probiert.

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Image1.Height := + 1;
  if Image1.Height > 160 then
  begin
    Timer1.Enabled := FALSE;
end;
end;
Leider funktioniert das irgendwie nicht.

SirThornberry 30. Okt 2005 10:17

Re: TImage Height und Width bei MouseMove langsam erhöhen?
 
was heißt "funktioniert nicht"? Stellst du den Timer auch irgendwo an?
du schreibst ja auch
Delphi-Quellcode:
Image1.Height := + 1;
was so viel bedeutet wie
Delphi-Quellcode:
Image1.Height := 1;

mlspider 30. Okt 2005 10:19

Re: TImage Height und Width bei MouseMove langsam erhöhen?
 
Sicher.

Delphi-Quellcode:
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 Timer1.Enabled:=True;
end;

mlspider 30. Okt 2005 11:02

Re: TImage Height und Width bei MouseMove langsam erhöhen?
 
Problem hat sich erledigt.

Delphi-Quellcode:
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 Timer1.Enabled:=True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Image1.Height := Image1.Height + 1;
  if Image1.Height >159 then
  begin
    Timer1.Enabled := FALSE;
    Image1.Height := 160;
end;
end;
Jetzt habe ich nur noch das Problem mit dem flackern. Hoffe es aber mit

Delphi-Quellcode:
DoubleBuffered:=True;
lösen zu können.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 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