AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Form ohne Animation maximieren

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

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

Form ohne Animation maximieren

  Alt 26. Sep 2005, 16:47
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!

Gruß, 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 phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#2

Re: Form ohne Animation maximieren

  Alt 26. Sep 2005, 16:57
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
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Marphy

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

Re: Form ohne Animation maximieren

  Alt 26. Sep 2005, 18:56
Hallo Christian,

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
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 Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Form ohne Animation maximieren

  Alt 26. Sep 2005, 19:45
Ulkig... Bei Delphi 4 suchte ich mal nach ne Funktion um das Maximieren zu animieren. Dann war das ja doch kein Bug sondern ein Feature.

Aber sorry, weiss allerdings auch kein Rat.
  Mit Zitat antworten Zitat
Marphy

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

Re: Form ohne Animation maximieren

  Alt 26. Sep 2005, 20:04
Hi Tom,

Zitat von Jelly:
Ulkig... Bei Delphi 4 suchte ich mal nach ne Funktion um das Maximieren zu animieren. Dann war das ja doch kein Bug sondern ein Feature.
Es wäre super, wenn von euch vielleicht jemand eben diesen Delphi4-VCL-Code rauskramen könnte... Dieser hat warscheinlich die Lösung parat.

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
 
#6

Re: Form ohne Animation maximieren

  Alt 26. Sep 2005, 20:10
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.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Marphy

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

Re: Form ohne Animation maximieren

  Alt 26. Sep 2005, 20:17
Hello Sir,

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?!

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 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...

Gruß, 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
Toenn

Registriert seit: 4. Okt 2003
Ort: Düsseldorf Beiträge: 10000
114 Beiträge
 
#8

Re: Form ohne Animation maximieren

  Alt 26. Sep 2005, 20:25
Zitat von Marphy:
Hello Sir,

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?!
Gruß, Marco
Naja was ganz unprofessionelles:
Abschalten, Maximieren, Anschalten
  Mit Zitat antworten Zitat
Marphy

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

Re: Form ohne Animation maximieren

  Alt 26. Sep 2005, 20:33
Zitat von Toenn:
Naja was ganz unprofessionelles:
Abschalten, Maximieren, Anschalten
Sorry Toenn, aber als "Lösung" kann man soetwas ja eher nicht bezeichnen...

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

Grüße, 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
DBR

Registriert seit: 19. Jul 2005
38 Beiträge
 
#10

Re: Form ohne Animation maximieren

  Alt 26. Sep 2005, 20:41
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!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 22:23 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