Label flackert, wenn Anchor=[akLeft,akBottom]

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
kirchfritz
Beiträge: 229
Registriert: Mo 3. Jan 2011, 13:34
OS, Lazarus, FPC: Win11 (L 3.0 FPC 3.2.2)
CPU-Target: 64Bit
Wohnort: Nürnberg

Label flackert, wenn Anchor=[akLeft,akBottom]

Beitrag von kirchfritz »

Hallo,

ich habe auf eine ansonsten leere Form ein TLabel plaziert und zur Designzeit unten verankert Anchors=[akLeft, akBottom].
Kompiliert einwandfrei, aber das ist nicht das Problem.
Wenn ich jetzt zur Laufzeit mit gedrückter linker Maustaste mit der FormTitelleiste das Fenster größer bzw. kleiner mache dann flackert während dieser Größenänderung das Label.
Ich finde dies sehr störend!!
Eigentlich möchte ich ein TPanel am unteren Formrand verankern und dort mit mehreren TLabels auf eine triviale Art ein Menü realisieren.
Aber leider flackert schon ein simples Label ohne Panel.
Mehrere Labels auf einem untenverankerten Panel flackern erst recht.

Ist das ein Bug oder kann man dagegen was tun?
Dateianhänge
Screenshot
Screenshot

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Label flackert, wenn Anchor=[akLeft,akBottom]

Beitrag von Michl »

Kann ich nicht so richtig nachvollziehen, läuft bei mir flüssig!

Probiere mal

Code: Alles auswählen

DoubleBuffered:=true;
bei OnCreate deiner Form, damit läuft bei mir auch ein großes unten angedocktes Image ohne sichtbares Flackern!

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

kirchfritz
Beiträge: 229
Registriert: Mo 3. Jan 2011, 13:34
OS, Lazarus, FPC: Win11 (L 3.0 FPC 3.2.2)
CPU-Target: 64Bit
Wohnort: Nürnberg

Re: Label flackert, wenn Anchor=[akLeft,akBottom]

Beitrag von kirchfritz »

Auch mit

Code: Alles auswählen

DoubleBuffered := True
flackert es weiter.
Ich habe das ganze (Größenänderung des Anwendungsfenster durch Ziehen an der Titelleiste) auch mal mit Outlook2013 probiert.
Da flackerts genauso.
Daraus könnte man jetzt schließen, dass dies ein Problem meiner Grafikkarte ist (ich arbeite auf eine DELL-Notebook unter Win7, Intel(R) Core(TM) i5 CPU)...
Oder ein Problem von Win7
Ich glaube, Freepascal und Lazarus ist an dem Flackern nicht dran schuld.

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Label flackert, wenn Anchor=[akLeft,akBottom]

Beitrag von Michl »

Einfach unter Start -> Systemsteuerung -> System -> Erweiterte Systemeinstellung -> Erweitert -> Leistung (Visuelle Effekte, ...) -> Einstellungen -> Haken bei "Fensterinhalt beim Ziehen anzeigen" weg und schon flackert es nicht mehr... :mrgreen:

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Antworten