Hallo.
Habe in meinem Porgramm zwei Komponenten: eine Combobox zur Auswahl der Verbindung und eine Progressbar zur Anzeige des aktuellen Übertragungsfortschritts.
Beide Komponenten müssen jedoch nicht zur selben Zeit angezeigt werden, daher wollte ich für beide Komponenten die gleiche Position auf dem Formular verwenden und je nach Situation die benötigte Komponente einblenden.
Den Anzeigenstatus per visible umschalten gefiel mir nicht so sehr, daher wollte ich eine kleine Animation erstellen, dass die eine Komponente die andere aus dem Formular "schiebt". Soweit auch kein Problem, nur flackert das ganze übelst und auch mit doublebuffered konnte ich keine Verbesserung feststellen. :/
Hier mein bisheriger Code:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
i: Integer;
max_width: Integer;
begin
//combobox2.Parent:= Statusbar1; !!!
form1.DoubleBuffered:= true;
StatusBar1.DoubleBuffered:= true;
combobox2.DoubleBuffered:= true;
max_width:= combobox2.Width;
for I := 0 to combobox2.Width do
begin
combobox2.Width:= max_width - i;
combobox2.Left:= i;
if i mod 5 = 0 then application.ProcessMessages;;
end;
end;
Hoffe ihr könnt mir weiterhelfen.
Viele Grüße,
Bernhard