AW: Fensteranimation deaktivieren bei TStyleManager.TrySetStyle(sStyleName)
@Codehunter: Ich habe mir nochmal alles von Dir durchgelesen, ich wäre zwar mit dem abfangen der Message bestimmt auf dem richtigen Pfad um das Animations-Dingens zu umgehen aber Du wolltest ja nichts globales, da happert es bei mir noch das umzusetzen. Eine Message wäre glaube ich global, oder zumindest Form-bezogen global.
Also weitermachen ohne Rücksicht auf den Global Faktor oder an dieser Stelle aufhören und umdenken? |
AW: Fensteranimation deaktivieren bei TStyleManager.TrySetStyle(sStyleName)
Ich bin da nun einen halben Schritt weiter. Aus dem doppelten Fade-Effekt ist ein einfacher Fade-Effekt geworden. Das Fade-Out vor dem Stylewechsel ist mit folgender Variante weg:
Delphi-Quellcode:
Allerdings scheint das CreateParams überhaupt nichts zu bewirken, das wäre nämlich das zweite Fade. Bzw. würde es funktionieren, bräuchte ich gar kein SetWindowLong vor dem Stylewechsel mehr machen.
unit Unit1;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; Label2: TLabel; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } procedure CreateParams(var Params: TCreateParams); override; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} uses Vcl.Themes; procedure TForm1.Button1Click(Sender: TObject); var Style: Longint; begin Style := GetWindowLong(Handle, GWL_STYLE); SetWindowLong(Handle, GWL_STYLE, Style and (not WS_BORDER)); TStyleManager.TrySetStyle('Carbon'); end; procedure TForm1.CreateParams(var Params: TCreateParams); begin inherited; Params.Style := Params.Style and (not WS_BORDER) ; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:24 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