![]() |
Titelleiste der Form abfragen ?
Hi :hi:
Gibt es eine auch für einen Anfänger gut verständliche Möglichkeit, herauszufinden welches Symbol in der Titelleiste der Form angeklickt wurde ? Z.B. ob der Benutzer auf "Maximieren" geklickt hat ? Ich möchte eine bestimmte Aktion ausführen, wenn auf eines dieser Symbole geklickt wurde. Vielen Dank schon mal für die Hilfe :) -=cats=- :coder: |
Re: Titelleiste der Form abfragen ?
Du nutzt ganz einfach ein ApplicationEvents aus Additional / Zusätzlich.
Dann wird dabei ein Event ausgelöst. |
Re: Titelleiste der Form abfragen ?
Hmm ... :gruebel: so ganz
versteh ich das nicht. Sorry, hab noch nicht viel Ahnung von Delphi ... :? Also, wie kann ich diesem ActionEvent sagen, das es was tun soll wenn auf maximieren geklickt wurde ? Ich verstehe nicht ganz, wie ich an dieses "maximieren" rankommen soll. Wie ich darauf zugreife. Woher weiß das Action Event, das darauf geklickt wurde ? Oder bekommt das generell alles mit ? :coder2: |
Re: Titelleiste der Form abfragen ?
Du setzt die Komponente ApplicationEvents auf dein Formular und dann schreibst du deinen Code in das entsprechende Ereignis:
Delphi-Quellcode:
(Doppelklick im Objectinspector in das entsprechende Ereignis, dann wir dir der Methodenrumpf automatisch erstellt.)
procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin ShowMessage('Minimieren'); end; |
Re: Titelleiste der Form abfragen ?
Zitat:
1. Du öffnest auf der Komponentenleiste den Registerkartenreiter Additional (englische Versionen) oder Zusätzlich (deutsche Version). 2. Nun suchst du das Icon von ApplicationEvents und ziehst es auf die Form. 3. Nun gehst du im Object Inspector auf den Registerkartenreiter Events. 4. Nun wählst du dort ein Event aus und doppelklickst datauf. 5. Nun gibst du im Editor, der sich öffnet den Code ein, denn er bei diesem Event ausführen soll. Zitat:
PS: Vergess Delphi nicht zu starten :mrgreen: |
Re: Titelleiste der Form abfragen ?
Zitat:
Erst mal vielen Dank für die ausführliche Erklärung :) Ich denke, jetzt hab ich es begriffen :) Eine Frage hab ich allerdings noch: Bei den Ereignissen dieses ActionEvents, da gibt es ein onMinimize. Was mach ich wenn ich maximieren möchte ? Das mit dem Minimieren hat hingehaun. Das er dann z.B. nen Text anzeigt oder sowas. |
Re: Titelleiste der Form abfragen ?
Zitat:
|
Re: Titelleiste der Form abfragen ?
Naja ... also dieses OnRestore hab ich
natürlich auch mal ausprobiert ;) Aber das macht ja nur was, wenn das Prog minimiert war (in die Taskleiste) und Du dann wieder draufklickts, damit es wieder maxmiert wird. Was ich meine ist aber das "Maximieren"-Symbol in der Titelleiste ... Oder hab ich das jetzt falsch verstanden ? |
Re: Titelleiste der Form abfragen ?
Probier mal:
Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
begin if WindowState = wsMaximized then begin //hier der Code end; end; |
Re: Titelleiste der Form abfragen ?
Vielen Dank :)
Die Idee ist nicht schlecht. Allerdings klappt es jetzt nur, wenn ich erst auf "Ursprungsgröße" (also die beiden sich überlappenden Fenster) gehe, anschließend auf maximieren und dann wieder auf "Ursprungsgröße". Sehr sehr verzwickt ... Mein Programm wird übrigens im Vollbild ohne Titelleiste gestartet. Vielleicht liegt es ja daran ... :gruebel: Ok, ich habe es jetzt hinbekommen so wie ich es haben möchte. Jetzt hab ich nur noch ein Problem (hoffentlich nur dieses eine ... ;)): Wie blende ich die Titelleiste wieder ein? So blende ich sie aus:
Delphi-Quellcode:
Das habe ich in einem Buch gefunden. Aber wie blende ich sie dann wieder ein ?
SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) AND NOT WS_CAPTION);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 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