PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MDI-Child Maximierungszoom verhindern - wie?



Patrick Krause
22.01.2004, 09:27
Hallo, wenn ich ein MDI-Child erzeuge (WindowState = wsMaximized) so gibt es eine Animation: man kann zusehen, wie sich das Childfenster maximiert.

Was kann man tun, um diese Animation zu unterbinden und das Fenster gleich maximiert anzeigen?

Ich meine jetzt keine allgemeine Windows-Einstellung ala "Fensteranimationen an/aus", sondern aus Delphi heraus.

Grüße,
Patrick

Johann Böttjer
28.01.2004, 12:01
Hallo Patrick,

versuch mal folgendes:

<PRE>
procedure SetAnimation(Value: Boolean);
var
Info: TAnimationInfo;
begin
Info.cbSize := SizeOf(TAnimationInfo);
BOOL(Info.iMinAnimate) := Value;
SystemParametersInfo(SPI_SETANIMATION, SizeOf(Info), @Info, 0);
end;
</PRE&gt

Patrick Krause
28.01.2004, 16:21
Hallo Johann,

Dein Vorschlag funktioniert, nur sind dann ALLE Fenster-Animationen systemweit abgeschaltet. Also noch nicht 100% sauber ... Behelfen könnte man sich ja durch das temp. Speichern und spätere Recovern des Originalzustandes.

Grüße,
Patric

Mario.Noack
28.01.2004, 16:28
Was stört Dich an den Vorgaben von Windows?<p>
Schöne Grüße, Mario Noac

Patrick Krause
28.01.2004, 16:35
ganz einfach, ich kann doch nicht einfach die allgemeinen Windows-Benutzereinstellungen verstellen, nur weil ich ein bestimmtes Verhalten in meiner Anwendung haben will. Was ist wenn der User das Programm wechselt und auf einmal ist dort das Verhalten anders? 100% sauber wäre es deshalb, wenn ich das nur für meinen MDI-Framework einstellen könnte ...

Grüß

Jochen Reichenberg
28.01.2004, 16:56
Ja, aber Dein Programm sollte sich ebenfalls an die Systemeinstellungen halten, die der Benutzer vorgegeben hat. Ich hab' zB fast alle Animationen deaktiviert. Und ich würde es wirlich nicht lustig finden, wenn irgendein Programm(ierer) sich einfach darüber hinwegsetzt. Das ist schlechter Stil (meiner Meinung nach).

Grüße Joche

Mario.Noack
28.01.2004, 16:59
Nunja, ich persönlich mag Anwendungen, die die Vorgaben meines Rechners befolgen. Und wenn ich auf meine Rechner Animationen sehen möchte, würde ich mich über eine Anwendung wundern, die sich drüber hinwegsetzt.<p>
Mir ist klar, dass es eine totale Kleinigkeit ist und stark unterschiedlichen Ansichten unterworfen ist.<p>
Naja, viel Spaß bei der Lösung des Problems (ist nicht ironisch gemeint!), aber es erinnert mich an den Satz: Luxus schafft Probleme ;)<p>
Viel Erfolg, Mario Noac

Patrick Krause
28.01.2004, 17:06
hehe, Luxusprobleme :-)

das Problem ist halt, dass bei unserer Anwendung grundsätzlich maximiert gearbeitet wird und oft die Fenster wechseln, wobei die MIDI-Children-Animationen (von mir) als störend und altmodisch empfunden werden. Bei MS Outlook ist auch einfach alles da, wenn man links im Baum einen anderen Programmteil aufruft, trotz eingeschalteter Animationen. Aber die benutzen wahrscheinlich kein MDI und haben damit keine solchen "Probleme" ...

Grüß