Home » Tipps & Tricks » Komponenten » Menüs » MainMenü manuell öffnen
MainMenü manuell öffnen
Folgende Prozedur öffnet das MainMenu eines Formulares. Über den Parameter wird gesteuert, welcher Menüpunkt aufgeklappt werden soll.
procedure TForm1.OpenMenu(const Idx: Integer); var I: Integer; begin PostMessage(Handle,wm_sysCommand,sc_keymenu, 0); for I:=1 to Idx do begin PostMessage(Handle,wm_KeyDown,vk_right, 0); PostMessage(Handle,wm_KeyUp,vk_right, 0); end; PostMessage(Handle,wm_KeyDown,vk_Return, 0); PostMessage(Handle,wm_KeyUp,vk_Return, 0); end;
Wird ihm der Wert 0 übergeben, wird das erste Menü aufgeklappt, bei 1 das zweite usw. Ist die Positionsnummer größer als die Anzahl der Menüs, wird wieder von vorne angefangen. Dabei wird auch das Systemmenü beachtet.