AGB  ·  Datenschutz  ·  Impressum  







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

Titelleiste der Form abfragen ?

Ein Thema von -=cats=- · begonnen am 12. Okt 2006 · letzter Beitrag vom 13. Okt 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von -=cats=-
-=cats=-

Registriert seit: 22. Sep 2006
128 Beiträge
 
Delphi 7 Enterprise
 
#1

Titelleiste der Form abfragen ?

  Alt 12. Okt 2006, 15:03
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=-
  Mit Zitat antworten Zitat
TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Titelleiste der Form abfragen ?

  Alt 12. Okt 2006, 15:16
Du nutzt ganz einfach ein ApplicationEvents aus Additional / Zusätzlich.
Dann wird dabei ein Event ausgelöst.
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat
Benutzerbild von -=cats=-
-=cats=-

Registriert seit: 22. Sep 2006
128 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Titelleiste der Form abfragen ?

  Alt 12. Okt 2006, 15:22
Hmm ... 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 ?

  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Titelleiste der Form abfragen ?

  Alt 12. Okt 2006, 15:33
Du setzt die Komponente ApplicationEvents auf dein Formular und dann schreibst du deinen Code in das entsprechende Ereignis:
Delphi-Quellcode:
procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
  ShowMessage('Minimieren');
end;
(Doppelklick im Objectinspector in das entsprechende Ereignis, dann wir dir der Methodenrumpf automatisch erstellt.)
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Titelleiste der Form abfragen ?

  Alt 12. Okt 2006, 15:37
Zitat von -=cats=-:
Hmm ... 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 ?
Schritt für Schritt:
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 von -=cats=-:
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 ?
Die Komponente findet alles alleine heraus. Beim klicken auf solch ein Button versendet Windows eine Message an das Fenster. Diese fängt die Komponente ab.

PS: Vergess Delphi nicht zu starten
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat
Benutzerbild von -=cats=-
-=cats=-

Registriert seit: 22. Sep 2006
128 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Titelleiste der Form abfragen ?

  Alt 12. Okt 2006, 15:45
Zitat von TurboMartin:
PS: Vergess Delphi nicht zu starten


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.
  Mit Zitat antworten Zitat
TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Titelleiste der Form abfragen ?

  Alt 12. Okt 2006, 15:53
Zitat von "-=cats:
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.
Ich versteh es mal als was ist dort OnMaximize: OnRestore!
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat
Benutzerbild von -=cats=-
-=cats=-

Registriert seit: 22. Sep 2006
128 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Titelleiste der Form abfragen ?

  Alt 12. Okt 2006, 15:55
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 ?
  Mit Zitat antworten Zitat
TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Titelleiste der Form abfragen ?

  Alt 12. Okt 2006, 16:00
Probier mal:
Delphi-Quellcode:
procedure TForm1.FormResize(Sender: TObject);
begin
  if WindowState = wsMaximized then
  begin
    //hier der Code
  end;
end;
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat
Benutzerbild von -=cats=-
-=cats=-

Registriert seit: 22. Sep 2006
128 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Titelleiste der Form abfragen ?

  Alt 12. Okt 2006, 16:05
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 ...


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:

SetWindowLong(Handle, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) AND NOT WS_CAPTION); Das habe ich in einem Buch gefunden. Aber wie blende ich sie dann wieder ein ?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 10:50 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