AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Form ohne Animation maximieren

Ein Thema von Marphy · begonnen am 26. Sep 2005 · letzter Beitrag vom 13. Okt 2005
Antwort Antwort
Seite 3 von 3     123
Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#21

Re: Form ohne Animation maximieren

  Alt 12. Okt 2005, 16:10
Tut mir Leid, dass ich so aufdringlich bin, aber ich komme allein einfach nicht auf die Lösung.

Bitte um Hilfe!

Danke, Marco
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#22

Re: Form ohne Animation maximieren

  Alt 12. Okt 2005, 16:47
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)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#23

Re: Form ohne Animation maximieren

  Alt 12. Okt 2005, 18:13
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:
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;
... oder ohne Erzeugen halt so:

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;
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#24

Re: Form ohne Animation maximieren

  Alt 13. Okt 2005, 13:02
Hallo zusammen,
warum nicht gleich so? 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.

Endlich ein Problem weniger...

Grüße und herzlichen Dank,
Marco
Angehängte Dateien
Dateityp: zip maximierenohneani_940.zip (197,0 KB, 34x aufgerufen)
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 08:31 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