hallo liebe Delphi Freunde..
seit einiger Zeit versuche ich eine art Spoiler für Delphi zu erstellen, bisher war ich dabei nicht sehr erfolgreich also habe ich versucht es so gut wie möglich "nachzustellen" indem ich eine Pagecontrol ganz klein gemacht habe, sodass man lediglich die Caption sieht. Jetzt habe ich versucht per OnMouseEnter und OnMouseLeave Event die größe der PageControl zu ändern, dass sie eine vorher im
OI festgelegte größe erreicht.
Eigentlich alles gar kein Problem, nur sieht das wirklich schei**e aus, wenn die Pagecontrol mit einen mal größer wird. Deswegen wollte ich die Pagecontrol in einer schleife größer machen lassen ungefähr so hier
Code:
procedure TForm1.PageControl1MouseEnter(Sender: TObject);
var i : integer;
begin
with sender as TPageControl do
begin
for i := Constraints.MinHeight to Constraints.MaxHeight do
begin
Height:=Height+1;
width:=width+1;
refresh;
sleep(10);
end;
end;
end;
Problem hierbei: ohne refresh ändert sich die größe des Objektes erst wenn die schleife durchlaufen war also immernoch ruckartig was unschön aussieht. Mit einen refresh besteht das Problem, dass das OnMouseLeave event direkt gestartet wurde, sodass sich die PageControl direkt wieder verkleinert...
Außerdem entstehen beim verkleinern des Objektes "schwarze Linien" bzw ein schwarzer Hintergrund nachdem es verkleinert wurde, der erst weg geht, wenn die Procedure endet.
Eine Maus position abfrage wollte ich auch erst versuchen und dann darüber bestimmen ob die Maus drüber ist oder eben nicht, da ich allerdings 10 verschiedene pagecontrols habe wäre das etwas aufwendig
Ich hoffe sehr, dass mir jemand helfen kann
vielen dank