Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#2

AW: XML Menu dynamisch erstellen - Events

  Alt 17. Jan 2017, 20:42
Zum Zeitpunkt des Menüaufbaus kennst Du doch das Plugin und kannst auf seine Funktionen zugreifen?

Würde Dir sowas (jetzt mal so dahingesponnenens) helfen?

'ne Routine im Plugin:
Delphi-Quellcode:
function tMeinPlugin.Ereigniszuweisung(Menu : TMenuItem) : boolean;
begin
  case Menu.Tag of
    0 : Menu.OnClick := OnClickRoutine0;
    1 : Menu.OnClick := OnClickRoutine1;
    2 : Menu.OnClick := OnClickRoutine2;
    3 : Menu.OnClick := OnClickRoutine3;
  end;
  Result := Assigend(Menu.OnClick);
end;
Und sowas in der Art in Deinem Programm (das Menü ist bereits fertig aufgebaut):
Delphi-Quellcode:
for i := 0 to Application.Mainmenu.Items.Count - 1 do begin
  if not MeinPlugin.Ereigniszuweisung(Application.Mainmenu.Items[i]) then begin
    // Fehlermeldung?
    Application.Mainmenu.Items[i].Visible := False;
    Application.Mainmenu.Items[i].Enabled := False;
    // oder was auch immer ...
  end;
end;
Oder:
Delphi-Quellcode:
// Hier wird irgendwie aus der XML das Menü aufgebaut
AktuellesMenueItem.Caption := Wert aus der XML;
AktuellesMenueItem.Tag := Wert aus der XML;
MeinPlugin.Ereigniszuweisung(AktuellesMenueItem);
Keine Ahnung, ob das auch nur ansatzweise funktioniert.
  Mit Zitat antworten Zitat