Einzelnen Beitrag anzeigen

Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Aktionen zur Laufzeit einfügen?

  Alt 11. Dez 2008, 12:20
Den OnExecute-Handler musst du manuell erstellen, etwas wie LanguageActionExecute hier:
Delphi-Quellcode:
procedure TfMain.LanguageActionExecute(Sender: TObject);
begin
  Assert(Sender is TAction);
  ShowMessage(TAction(Sender).Caption);
end;

procedure TfMain.MainMenu_ActManBarClick(Sender: TObject);
var
  i: Integer;
begin
  // Das Löschen musst du evtl. anpassen:
  for i := Pred(MainMenu_ActMan.ActionCount) downto 0 do
    MainMenu_ActMan.Actions[i].Free;

  for i := Low(Lg_LanguageFileList) to High(Lg_LanguageFileList) do
    CreateLanguageAction('LanguageAction' + IntToStr(i),
      ExtractFileName(Lg_LanguageFileList[i]),
      LanguageActionExecute);
end;
(Ungetestet, da ich mich mit dem ActionManager-Kram nicht auskenne.)
Uli Gerhardt
  Mit Zitat antworten Zitat