![]() |
Re: Form ohne Animation maximieren
Tut mir Leid, dass ich so aufdringlich bin, aber ich komme allein einfach nicht auf die Lösung. :(
Bitte um Hilfe! Danke, Marco |
Re: Form ohne Animation maximieren
hast du es schon mit SystemParametersInfo in Zusammenhang mit SPI_SETANIMATION probiert?
In der VCL wird es teilweise genau so gemacht, und zwar wird erst abgerufen ob die Animation aktiviert ist, wenn dem so ist wird es deaktiviert, dann wird das Fenster angezeigt und danch wird der Wert zurück gesetzt (sind nur paar zeilen, aber vcl-funktionen zu posten fällt wohl in das copyright und so schwer ist es ja auch nicht) |
Re: Form ohne Animation maximieren
SirThornberry hat Recht, in der VCL machen die wirklich so etwas (der Code ist jetzt nicht unbedingt Copyrightgefährdet, also poste ich ihn einfach mal):
Delphi-Quellcode:
... oder ohne Erzeugen halt so:
function GetAnimation: Boolean;
var Info: TAnimationInfo; begin Info.cbSize := SizeOf(TAnimationInfo); if SystemParametersInfo(SPI_GETANIMATION, SizeOf(Info), @Info, 0) then Result := Info.iMinAnimate <> 0 else Result := False; end; procedure SetAnimation(Value: Boolean); var Info: TAnimationInfo; begin Info.cbSize := SizeOf(TAnimationInfo); BOOL(Info.iMinAnimate) := Value; SystemParametersInfo(SPI_SETANIMATION, SizeOf(Info), @Info, 0); end; procedure CreateFormNoAnimate(Class: TComponentClass; var Reference); var Animation: Boolean; Instance: TComponent; begin Animation := GetAnimation; try if Animation then SetAnimation(False); Instance := TComponent(InstanceClass.NewInstance); TComponent(Reference) := Instance; try Instance.Create(Application); except TComponent(Reference) := nil; raise; end; finally if Animation then SetAnimation(True); end; end;
Delphi-Quellcode:
procedure WindowStateNoAnimate(Form: TCustomForm; State: TWindowState);
var Animation: Boolean; begin Animation := GetAnimation; try if Animation then SetAnimation(False); Form.WindowState := State; finally if Animation then SetAnimation(True); end; end; |
Re: Form ohne Animation maximieren
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
warum nicht gleich so? :-D Danke Volker, dein Code funktioniert einwanfrei! Vor lauter Begeisterung habe ich gleich mein Demoprojekt umgeschrieben, sodass das MDI Child tatsächlich unanimiert angezeigt wird. Danke auch dir, SirThornberry, und all den anderen Postern. :thumb: Endlich ein Problem weniger... Grüße und herzlichen Dank, Marco |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz