![]() |
Re: Menü automatisch schließen
Die Menükoordinaten 0,0 sind schon in Ordnung, dann schliesst sich das Menü !
|
Re: Menü automatisch schließen
Oder nimm das !
Delphi-Quellcode:
SendMessage(Handle, WM_LBUTTONCLK, 0, 0)
|
Re: Menü automatisch schließen
@Luckie
ok, sorry :oops: wird nicht wieder vorkommen @all leider funktioniert das mit dem Klick nur bedingt!
Delphi-Quellcode:
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!
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; |
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: |
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!! |
Re: Menü automatisch schließen
Gibt es niemand der mir bei diesem Problem helfen kann???
|
Re: Menü automatisch schließen
|
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
|
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; |
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. |
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