![]() |
Re: Maximierung eines Programms nur auf ein Teil beschränken
@Delphi_Fanatic: Ja hab ich, aber die Prozedur wird erst aufgerufen nachdem das Fenster von mir einmal verößert wurde und wenn ich es danach versuche wieder zu verkleinern!
|
Re: Maximierung eines Programms nur auf ein Teil beschränken
Du könntest die "Align"-Property's einfach setzen so das sich automatich beim vergrößern/verkleinern alles anpasst. Alternativ (wie schon geschrieben wurde) geht auch das OnResize-Event des Formulars
|
Re: Maximierung eines Programms nur auf ein Teil beschränken
Hab ich schon versucht: s.o.
|
Re: Maximierung eines Programms nur auf ein Teil beschränken
WM_SYSCOMMAND ist eine Windows - Nachricht! In der Mitgeteilt wird das das Maximieren eingeleitet werden soll.
Man kann in ihr aber nicht den Maximierungsvorgang steuern, was du ja willst! Um dies zu bewerkstelligen müssen andere Nachrichten abgefangen werden. Dies wurde von den Borlander schon vorbereitet. Steuern kann man also das Verhalten eines Fenster, indem man die Contraints-Werte setzt. Wie ich das die ganze Zeit schon versuche begreiflich zu machen. Ist also noch keine Suche erfolgt, die Liste unten also ausgeblendet setzt man
Delphi-Quellcode:
. Ist die Liste angezeigt dann setzt man
Constraints.MinHeight := Height;
Delphi-Quellcode:
. Und Fertig ist dieser Effekt. Mehr braucht man eigentlich nicht.
Constraints.MinHeight := 0;
|
Re: Maximierung eines Programms nur auf ein Teil beschränken
Zitat:
|
Re: Maximierung eines Programms nur auf ein Teil beschränken
Ja aber wie frage ich den WM_SYSCOMMAND ab! (Ich hab mir schon die hälfte meiner Kopfhaare ausgerupft!) :wall:
|
Re: Maximierung eines Programms nur auf ein Teil beschränken
Wieso machst du sowas!
Obwohl ich Dir schon erklärt habe wie man das OHNE WM_SYSCOMMAND macht. Aber bitte, obwohl man das Problem so mit dem Holzhammer erschlägt:
Delphi-Quellcode:
type
TForm1 = class private procedure WMSysCommand(var Message : TWMSysCommand); message WM_SYSCOMMAND; procedure TForm1.WMSysCommand(var Message : TWMSysCommand); begin if Message.CmdType = SC_MAXIMIZE then // was nun? else inherited; // für alle Anderen end; |
Re: Maximierung eines Programms nur auf ein Teil beschränken
Tut mir leid, ich sag ja ich bin noch Anfänger! Boar, aber trozdem danke, genau sowas meinte ich! Und ich versteh es sogar! :thuimb: :zwinker: :hello:
P.S.: Aber ich hab noch immer das Problem das mein Programm nicht mehr seine Position bei Drag & Drop ändert :gruebel: ! |
Re: Maximierung eines Programms nur auf ein Teil beschränken
Wenn das das Problem ist?
Bei Maximierten Fenstern kann man nicht die Position ändern. Versuche statt align in WM_SYSCOMMAND mit SetBounds das Formular auszurichten. |
Re: Maximierung eines Programms nur auf ein Teil beschränken
Nein ich meine im ganz normalen zustand also wie ich das Programm desighnt habe, als würde Windows es festkleben!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz