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.