Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Menü automatisch schließen (https://www.delphipraxis.net/56741-menue-automatisch-schliessen.html)

chrisw 10. Nov 2005 14:53

Re: Menü automatisch schließen
 
Die Menükoordinaten 0,0 sind schon in Ordnung, dann schliesst sich das Menü !

chrisw 10. Nov 2005 14:56

Re: Menü automatisch schließen
 
Oder nimm das !
Delphi-Quellcode:
SendMessage(Handle, WM_LBUTTONCLK, 0, 0)

Baeuerle 10. Nov 2005 15:12

Re: Menü automatisch schließen
 
@Luckie

ok, sorry :oops: wird nicht wieder vorkommen

@all

leider funktioniert das mit dem Klick nur bedingt!

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Mouse_Event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
Mouse_Event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
with TForm3.create(Application) do
 begin
 try
 ShowModal;
 finally
  Free;
  end;
 end;
end;
Habe diese proc leider erscheint das Menu auf Form3 nicht wenn dieses durch den Timer initialisiert wird und das Menu von Form1 geöffnet ist!

shmia 10. Nov 2005 15:45

Re: Menü automatisch schließen
 
Allein schon die Idee, ein Menu automatisch nach einer bestimmten Zeit zu schliesen ist doch
Quark.
Wenn ich ein Menue aufklappe und 3 Minuten so stehen lasse, hat das bestimmt einen Grund:
* bin Kaffee holen gegangen. Menue bleibt offen -> Gedankenstütze
* versuche gerade einen Screenshot vom Menue zu machen
...
Programme, die dazwischen funken und ein Eigenleben führen, machen sich unbeliebt. :warn:

Baeuerle 11. Nov 2005 07:16

Re: Menü automatisch schließen
 
Ok,

nochmal langsam zum mitdenken !!!!!!!

1. Ich habe ein Hauptformular, ein zweites Formular, dass anzeigt, welche Jobs zu erledigen sind ( so eine Art Sceduler )

2. Ich habe einen Thread, der überprüft ob der Sceduler ( Form2 ) angezeigt werden soll.

3. Startet der Sceduler wenn das Menü von Form1 offen ist, so wird das Menü von Form2 zwar angezeigt, jedoch werden die SubItems wenn ich auf den Haupteintrag des Menüs klicke nicht dargestellt!

@Shima

Es geht nicht darum die Steuerung dem User zu entnehmen sondern um das Menü von Form2 korrekt anzeigen zu können!!

Baeuerle 14. Nov 2005 10:55

Re: Menü automatisch schließen
 
Gibt es niemand der mir bei diesem Problem helfen kann???

teebee 14. Nov 2005 12:16

Re: Menü automatisch schließen
 
Vielleicht hilft Dir MSDN-Library durchsuchenEndMenu weiter.

Gruß, teebee

Schubi 14. Nov 2005 12:49

Re: Menü automatisch schließen
 
Schon einmal daran gedacht einfach ein ESC an das Form zu senden? Evtl brauchst du zwei davon um auch noch die Markierung des Menüs verschwinden zu lassen

Baeuerle 14. Nov 2005 13:07

Re: Menü automatisch schließen
 
Hallo,

zunächst danke für die Antworten habe ich aber schon alles versucht!!
Ich habe euch mal gepostet was ich schon so gemacht habe OHNE ERFOLG.


Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled:=False;
//SendMessage(self.Handle,WM_KEYDOWN,VK_CANCEL,1);
//SendMessage(self.Handle,WM_KEYUP,VK_CANCEL,1);
//SendMessage(self.Handle,WM_KEYDOWN,VK_CANCEL,1);
//SendMessage(self.Handle,WM_KEYUP,VK_CANCEL,1);
SendMessage(self.Handle,WM_CANCELMODE,0,0);
//Mouse_Event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
//Mouse_Event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
Application.ProcessMessages;
form3:=TForm3.create(Application);
with form3 do
 begin
 try
 ShowModal;
 finally
  Free;
  end;
 end;
end;

marabu 14. Nov 2005 14:42

Re: Menü automatisch schließen
 
Hallo Baeuerle,

das Hauptmenü wird vom window manager verwaltet. Wenn der menu owner den Fokus verliert, dann wird normalerweise jedes menu geschlossen. Wenn sich dein Programm anders verhält ist da etwas faul. Ich rate dir die Ursache für das Fehlverhalten in deinem Code zu suchen, anstelle an den Symptomen herum zu kurieren. Ich möchte dir gerne noch von deinem Programmdesign abraten, aber das magst du bestimmt nicht hören.

Freundliche Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:48 Uhr.
Seite 2 von 3     12 3      

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