AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Komponente aus Form "sliden/fahren" lassen => flackert
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente aus Form "sliden/fahren" lassen => flackert

Ein Thema von ---Bernhard--- · begonnen am 19. Mai 2008 · letzter Beitrag vom 22. Mai 2008
Antwort Antwort
Benutzerbild von ---Bernhard---
---Bernhard---

Registriert seit: 26. Dez 2003
Ort: Abensberg
111 Beiträge
 
Delphi 2006 Professional
 
#1

Komponente aus Form "sliden/fahren" lassen => f

  Alt 19. Mai 2008, 13:25
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
Bernhard Doll
Das Leben ist ein sch*** Spiel... aber eine super Grafik!!
http://www.doll-online.net
  Mit Zitat antworten Zitat
Benutzerbild von Billa
Billa

Registriert seit: 11. Aug 2003
237 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: Komponente aus Form "sliden/fahren" lassen =&a

  Alt 19. Mai 2008, 13:42
.. was hältst Du z.B. von der Verwendung einer Scrollbox?
Gruß Billa

Nur weil ich paranoid bin, heißt das nicht, daß die da draussen nicht hinter mir her sind....
  Mit Zitat antworten Zitat
Benutzerbild von Dunkel
Dunkel

Registriert seit: 26. Mär 2007
Ort: Klingenstadt
541 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Komponente aus Form "sliden/fahren" lassen =&a

  Alt 19. Mai 2008, 13:49
Durch das
  if i mod 5 = 0 then application.ProcessMessages; 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.
Es ist zu wahr um schön zu sein...
  Mit Zitat antworten Zitat
Benutzerbild von ---Bernhard---
---Bernhard---

Registriert seit: 26. Dez 2003
Ort: Abensberg
111 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Komponente aus Form "sliden/fahren" lassen =&a

  Alt 19. Mai 2008, 13:58
Zitat von Dunkel:
Probier mal den Divisor des Modulo kleiner zu machen oder komplett raus zu lassen.
Hi.
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.
Bernhard Doll
Das Leben ist ein sch*** Spiel... aber eine super Grafik!!
http://www.doll-online.net
  Mit Zitat antworten Zitat
Benutzerbild von ---Bernhard---
---Bernhard---

Registriert seit: 26. Dez 2003
Ort: Abensberg
111 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Komponente aus Form "sliden/fahren" lassen =&a

  Alt 22. Mai 2008, 19:33
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
Bernhard Doll
Das Leben ist ein sch*** Spiel... aber eine super Grafik!!
http://www.doll-online.net
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 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