Laden...

MDIChild Maximieren Effekt.

Erstellt von Andreas.May vor 17 Jahren Letzter Beitrag vor 17 Jahren 2.147 Views
Andreas.May Themenstarter:in
915 Beiträge seit 2006
vor 17 Jahren
MDIChild Maximieren Effekt.

Hallo, arbeite zurzeit an einem GUI für eine BDE Maske.
Hierfür verwende ich einen MdiContainer und MdiChilds.

Ich habe schon einige Dinge ausprobiert komme aber an einer Stelle leider nicht weiter, beim maximieren des MdiChild dockt sich das MdiChilds im MenuStrip des MdiContainer (MdiParent) ein.

Habe bereits versucht in der WndProc die Windows Message mit WM_SYSCOMMAND und den WParam mit SC_MAXIMIZE abzufangen, was auch ohne Probleme klappt. Gebe ich nun einfach einen return mit, wird das fenster nunmehr nicht maximiert. Aber die Nachricht für den WindowState (FormWindowState.Maximized) geht dann natürlich auch verloren.

Habe auch versucht mit der Windows API funktion LockWindowUpdate(this.Handle) das MDI Fenster zu sperren, leider erscheinen dennoch das Icon wie die Maximieren-, Minimieren- und Close Buttons im MenuStrip.

Habe leider keine Idee welche WindowsMessage ich hier abgreifen muss, oder welches Tool es evtl erleichtern würde die entsprechende Windows Message zu finden. Oder welche Windows API funktion es erlaubt das WindowState zu setzen.

Hat jemand vielleicht einen Tipp für mich?

/ps
Im Anhang befindet sich Screenshoot des Testprojekts bzw. der Effekte.

Wie vernichtet stand Andreas unter den flammenden Augen seiner Kunden.
Ihm war's, als stünde des Schicksals dunkle Wetterwolke über seinem Haupte X(

1.271 Beiträge seit 2005
vor 17 Jahren

Du kannst ja das Maximieren abfangen und verhindern, hast du gesagt. An dieser Stelle stellst du einfach mal MdiChild.Dock auf DockStyle.Fill. Das müsste eigentlich den gewünschten Effekt bringen.

A wise man can learn more from a foolish question than a fool can learn from a wise answer!
Bruce Lee

Populanten von Domizilen mit fragiler, transparenter Außenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
Wer im Glashaus sitzt, sollte nicht mit Steinen werfen.

Andreas.May Themenstarter:in
915 Beiträge seit 2006
vor 17 Jahren

Hallo, habe das auch schon Probiert, der gewünschte Effekt tritt ein.
Problem ist nur dass der maximieren Status nicht mehr gesendet wird.

Also das Fenster weis dann nicht mehr das es sich grade im Maximieren Zustand befindet.
Somit befindet sich das Fenster immer im FormWindowState.Normal Zustand. Die Windows Message WM_Restore geht dann leider nicht mehr.

Wie vernichtet stand Andreas unter den flammenden Augen seiner Kunden.
Ihm war's, als stünde des Schicksals dunkle Wetterwolke über seinem Haupte X(