AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Controls schnell auf einem Panel neu anordnen -ohne Flickern
Thema durchsuchen
Ansicht
Themen-Optionen

Controls schnell auf einem Panel neu anordnen -ohne Flickern

Ein Thema von alzaimar · begonnen am 31. Aug 2006 · letzter Beitrag vom 1. Sep 2006
Antwort Antwort
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#1

Controls schnell auf einem Panel neu anordnen -ohne Flickern

  Alt 31. Aug 2006, 18:24
Hi

Ich habe ein Panel, darauf sollen 50 TEdit-Controls zur Laufzeit dynamisch raufgepackt werden. Klappt ja auch, ist nur langsam.

Wenn ich vor dem Erzeugen das Panel unsichtbar mache, und hinterher wieder sichtbar, ist es schon viel schneller, flackert aber. Is klar, ich mach ja auch:
Delphi-Quellcode:
MyPanel.Visible := False;
CreateControls;
MyPanel.Visible := True;
Gibts für TPanels nicht sowas wie 'BeginUpdate'/'EndUpdate'?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Controls schnell auf einem Panel neu anordnen -ohne Flic

  Alt 31. Aug 2006, 18:53
Hallo alzaimar,

Shaman zeigt in diesem Beitrag zwei Routinen als Ersatz für die API-Funktion LockWindowUpdate. Vielleicht kannst du damit ein Neuzeichnen des Panels während des Aufbaus verhindern.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

Re: Controls schnell auf einem Panel neu anordnen -ohne Flic

  Alt 31. Aug 2006, 19:02
Hier im Forum suchenDoubleBuffered
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Controls schnell auf einem Panel neu anordnen -ohne Flic

  Alt 31. Aug 2006, 20:09
Das merkt man immer wieder.
Danke an Euch!
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Controls schnell auf einem Panel neu anordnen -ohne Flic

  Alt 1. Sep 2006, 08:56
Kleiner Nachtrag:
Delphi-Quellcode:
MyPanel.Visible := False;
CreateControls;
MyPanel.Visible := True;
dauert 60ms und blinkt (Klar, Visible aus und wieder an)

Delphi-Quellcode:
LockWindow(MyPanel.Handle);
CreateControls;
UnLockWindow(MyPanel.Handle);
dauert 300ms und blinkt nicht, ist aber eigentlich kein Unterschied zum reinen 'CreateControls'.
Aber:
Delphi-Quellcode:
LockWindow(MyPanel.Handle);
MyPanel.Visible := False;
CreateControls;
MyPanel.Visible := True;
UnLockWindow(MyPanel.Handle);
dauert nur 90ms und ist somit perfekt.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  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 07:02 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