![]() |
Komponente aus Form "sliden/fahren" lassen => f
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:
Hoffe ihr könnt mir weiterhelfen. :)
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; Viele Grüße, Bernhard |
Re: Komponente aus Form "sliden/fahren" lassen =&a
.. was hältst Du z.B. von der Verwendung einer Scrollbox?
|
Re: Komponente aus Form "sliden/fahren" lassen =&a
Durch das
Delphi-Quellcode:
bekommt die Form und die sich darauf befindenden Controls nur alle 5 "Pixel-Ticks" (oder wie auch immer Du das nenne möchtest) die Message zum sich neu Zeichnen. Probier mal den Divisor des Modulo kleiner zu machen oder komplett raus zu lassen.
if i mod 5 = 0 then application.ProcessMessages;
|
Re: Komponente aus Form "sliden/fahren" lassen =&a
Zitat:
Hab ich bereits probiert, die modulo Abfrage war eigentl. nur zum Test zusätzlich drinn. Es ist jetzt auch nicht so, dass die Combobox aussieht als würde sie nach rechts "springen", sondern definitv ein flackern (ist zwischenzeitlich nicht sichtbar, ein/zwei Pixel später wieder sichtbar, dann wieder nicht, etc. ) @Billa: Werde mir mal anschauen wie gut sich die Scrollbox für den Zweck eignet und in die Statusbar einbindbar ist. Danke schonmal für eure Tipps. :) |
Re: Komponente aus Form "sliden/fahren" lassen =&a
Hi.
Hab das ganze letztendlich über die Scrollbox gelöst. Nach etwas herumexperimentieren klappts eigentl. recht zufriedenstellend. Nur versteh ich nach wie vor nicht ganz, was die Scrollbox groß anders macht als ich, verschiebt letztendlich auch nur die Komponenten auf einem Art Panel :?: Nunja, jedenfalls vielen Dank für den Tipp. Bernhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz