Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Form ohne Animation maximieren (https://www.delphipraxis.net/53968-form-ohne-animation-maximieren.html)

Marphy 26. Sep 2005 16:47


Form ohne Animation maximieren
 
Hallo zusammen,
mein Problem diesmal: Ich will ein Formular (MDI Child) ohne Animation maximieren. Ich habe schon ziemlich alles versucht, bin aber nicht zu einer Lösung gekommen.

Ich hoffe, ihr wisst weiter! :thumb:

Gruß, Marco

phlux 26. Sep 2005 16:57

Re: Form ohne Animation maximieren
 
Hi Marco,

das geht wie folgt:
Delphi-Quellcode:
  //In deiner Hauptform rufst du auf:
  LockWindowUpdate(Handle);
  //Danach das MDI-Child erstellen
  // ...
  //Dann die Hauptform wieder zum neuzeichnen freigeben
  LockWindowUpdate(0);
Der negative Seiteneffekt ist allerdings, dass für einen kurzen Moment deine Form einfriert und es so aussieht als ob dein Prog hängt. Hoffe dir geholfen zu haben ;)

Mfg phlux :hi:

Marphy 26. Sep 2005 18:56

Re: Form ohne Animation maximieren
 
Hallo Christian,

Zitat:

Zitat von phlux
Der negative Seiteneffekt ist allerdings, dass für einen kurzen Moment deine Form einfriert und es so aussieht als ob dein Prog hängt. Hoffe dir geholfen zu haben ;)

Hmm, das verhindert zwar, dass der Effekt angezeigt wird, dieser wird aber dennoch ausgeführt (während der Zeit, in der das Programm zu hängen scheint). Ich brauche es aber ganz ohne Wartezeit...

Danke trotzdem! :)

Gruß, Marco

Jelly 26. Sep 2005 19:45

Re: Form ohne Animation maximieren
 
Ulkig... Bei Delphi 4 suchte ich mal nach ne Funktion um das Maximieren zu animieren. :wall: Dann war das ja doch kein Bug sondern ein Feature. :mrgreen:

Aber sorry, weiss allerdings auch kein Rat.

Marphy 26. Sep 2005 20:04

Re: Form ohne Animation maximieren
 
Hi Tom,

Zitat:

Zitat von Jelly
Ulkig... Bei Delphi 4 suchte ich mal nach ne Funktion um das Maximieren zu animieren. :wall: Dann war das ja doch kein Bug sondern ein Feature. :mrgreen:

Es wäre super, wenn von euch vielleicht jemand eben diesen Delphi4-VCL-Code rauskramen könnte... Dieser hat warscheinlich die Lösung parat. :cyclops:

Danke, Marco

SirThornberry 26. Sep 2005 20:10

Re: Form ohne Animation maximieren
 
die Animation kommt vom Windows, demnach solltest du es einfach im Windows abstellen. Oder du lässt den maximieren button weg und machst einen eigenen Button der die Größe des Forms ändert. Letztendlich wird schließlich bei dem Effekt nicht das Form stück für stück vergrößert sonder einfach nur der StandardWindow-Rahmen animiert vergrößert.

Marphy 26. Sep 2005 20:17

Re: Form ohne Animation maximieren
 
Hello Sir,

Zitat:

Zitat von SirThornberry
die Animation kommt vom Windows, demnach solltest du es einfach im Windows abstellen.

Ich stelle doch die Animation nicht in Windows für alle Fenster ab, was soll den da der Nutzer sagen?! :roll:

Zitat:

Zitat von SirThornberry
Oder du lässt den maximieren button weg und machst einen eigenen Button der die Größe des Forms ändert.

Die Animation beim Klick auf den Maximieren-Button in der Titelleiste ist schon okay, ich will das Fenster ja nur beim Anzeigen (z.b. OnShow-Event) "unanimiert" maximieren.

Zitat:

Zitat von SirThornberry
Letztendlich wird schließlich bei dem Effekt nicht das Form stück für stück vergrößert sonder einfach nur der StandardWindow-Rahmen animiert vergrößert.

Das war mir auch schon vorher klar... :wink:

Gruß, Marco

Toenn 26. Sep 2005 20:25

Re: Form ohne Animation maximieren
 
Zitat:

Zitat von Marphy
Hello Sir,

Zitat:

Zitat von SirThornberry
die Animation kommt vom Windows, demnach solltest du es einfach im Windows abstellen.

Ich stelle doch die Animation nicht in Windows für alle Fenster ab, was soll den da der Nutzer sagen?! :roll:
Gruß, Marco

Naja was ganz unprofessionelles:
Abschalten, Maximieren, Anschalten :D

Marphy 26. Sep 2005 20:33

Re: Form ohne Animation maximieren
 
Zitat:

Zitat von Toenn
Naja was ganz unprofessionelles:
Abschalten, Maximieren, Anschalten :D

Sorry Toenn, aber als "Lösung" kann man soetwas ja eher nicht bezeichnen... :stupid: :wink:

Vielen Dank trotzdem schon einmal für die rege Beteiligung! :thumb: Um diese Uhrzeit hätte ich damit echt nicht gerechnet... :)

Grüße, Marco

DBR 26. Sep 2005 20:41

Re: Form ohne Animation maximieren
 
bei normalen Fenstern mache ich das so:

Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.WMSysCommand;
begin
  if (Msg.CmdType = SC_MAXIMIZE)
    then begin
    hide;
    windowstate := wsMaximized;
    show;
  end else inherited;
end;
Vielleicht hilfts!


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:55 Uhr.
Seite 1 von 3  1 23      

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