![]() |
Untermenü per Programm aufrufen
Hallo,
gibt es eine Möglichkeit ein Untermenü mit mehreren Einträgen aus dem Programm heraus aufklappen zu lassen. Mit der Maus ist das ja kein Thema, aber ich finde keine Möglichkeit das übers Programm hinzukriegen. Hintergrund ist, dass ich ein Untermenü alternativ über einen Hotkey aufklappen möchte. Das Click-Event ist dafür untauglich weil es nur die Zeilen in OnClick ausführt. Alternativ kann ich natürlich ein Popup-Menu erzeugen und dieses anzeigen, ist aber nicht so elegant und einfach. |
Re: Untermenü per Programm aufrufen
hi,
könntest du dein problem etwas näher erläutern, ich verstehe nicht genau was du meinst. mfg Jonny |
Re: Untermenü per Programm aufrufen
meinst du beim TPopupmenu? wenn ja dann TPopupmenu.Popup(x,y)
Gruß Frank |
Re: Untermenü per Programm aufrufen
Ganz einfach ausgedrückt: Du kennst das typische Hauptmenü mit Datei, Bearbeiten, Fenster .... Jedes dieser Menüpunke hat Untermenüs. Unter Datei steht i.d.R. "Neu", "Ändern" und "Löschen". Ein Klick mit der Maus auf "Datei" klappt das Untermenü auf. Nun möchte ich aber dieses Untermenü per Hotkey aufklappen lassen. Wie lässt sich also der Mausklick simulieren. Mit der Methode "Click" des Menuitems klappt es leider nicht :(
|
Re: Untermenü per Programm aufrufen
wenn du dem Menüpunkt ein Alt-Kürzel (Unterstrichener Buchstabe, Accelerator, kA wie man das genau nennt, Caption mit & vor dem jeweiligen Buchstaben) gönnst kannst du das so realisieren:
Delphi-Quellcode:
Gruß Frank
datei1.caption='&datei';
procedure TForm1.Button1Click(Sender: TObject); const VK_D=$44;//kannst du evtl weglassen begin keybd_event(VK_MENU, 0, 0, 0); keybd_event(VK_D, 0, 0, 0); keybd_event(VK_D, 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0); end; |
Re: Untermenü per Programm aufrufen
Hallo Frank,
wie sieht denn die Prozedur keybd_event aus? Wie dem auch sei, ich hab mich leider nicht korrekt ausgedrückt. Mein Problem beschränkt sich auf die Toolbar2000 von Jordan Russell, die ähnliche Funktionen wie ein Windows-Menü hat, u.a. auch sogenannte SubMenuItems mit Untermenüs. Klickt man auf einen solches SubMenuItem, klappt darunter ein Menü mit weiteren Items auf. Nun möchte ich, dass der Benutzer solche Menüs auch per Hotkey öffnen kann. Bei einem gewöhnlichen Menü drückt man einfach Alt + "Accelerator-Taste". Bei einem Toolbutton gibts aber keinen solchen. Die Click-Routine des Toolbuttons öffnet leider nicht das Untermenü :( Gruß Wilfried! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:53 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 by Thomas Breitkreuz