Einzelnen Beitrag anzeigen

Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#1

Fensteranimation deaktivieren bei TStyleManager.TrySetStyle(sStyleName)

  Alt 12. Apr 2018, 08:11
Moin,

mir ist aufgefallen, dass bei einem Wechsel des VCL-Style zur Laufzeit mit TStyleManager.TrySetStyle(sStyleName) anscheinend die Fenster neu erstellt werden. Dabei animiert Windows das "Aus- und wieder Ein-Fading". Das wirkt dann ziemlich unprofessionell und gibt außerdem Probleme mit Flickern bei Non-DoubleBuffered Fenstern. Manche etwas schludrig geschriebene Komponenten produzieren gar AVs.

Wenn ich allerdings Programmkompatibilität für das Programm auf "Basic" stelle, was bei Windows 7 zu der hässlichen Aero-Basic-Oberfläche führt, dann wuppt der Style-Wechsel ohne jegliche Animation in Sekundenbruchteilen und besagte Proleme mit Drittkomponenten (vermutlich ungültige Canvas-Handle) verschwinden auch.

Kann ich evtl. die Fensteranimation (auch beim Minimieren und Maximieren) über CreateParams beeinflussen/deaktivieren? Also nicht per Manifest die Anwendung in den Basic-Modus zwingen sondern nur die Fenster-Animationen abschalten.

Grüße
Cody
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat