Einzelnen Beitrag anzeigen

bttb930

Registriert seit: 6. Okt 2003
372 Beiträge
 
#7

Re: MenuItems hinzufügen und mit OnClick ausrüsten

  Alt 3. Jul 2004, 14:59
Und wenn Du's nicht mit dem Tag-Feld machen willst, weil das bei vielen Funktionen zu Mammut-OnClick-Funktionen führt, geht's auch so (Form mit MainMenu und in MainMenu ein Hauptmenü Test und ein Untermenu Test1):

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    Test1: TMenuItem;
    Test11: TMenuItem;
    procedure Test11Click(Sender: TObject);
  private
    { Private-Deklarationen }
    MenuItemStrings: TStringList;
    procedure Test21Click(Sender: TObject);
    procedure Test31Click(Sender: TObject);
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Test11Click(Sender: TObject);
var
  mi: TMenuItem;
  i: Integer;
begin
  ShowMessage('Test1');
  MenuItemStrings := TStringList.Create;
  MenuItemStrings.Add('Item 1');
  MenuItemStrings.Add('Item 2');
  for i := 0 to MenuItemStrings.Count - 1 do
  begin
    mi := TMenuItem.Create(self);
    mi.Caption := MenuItemStrings[i];
    if i = 0 then
      mi.OnClick := Test21Click
    else
      mi.OnClick := Test31Click;
    Test1.Add(mi);
  end;
end;

procedure TForm1.Test21Click(Sender: TObject);
begin
  ShowMessage('Test21');
end;

procedure TForm1.Test31Click(Sender: TObject);
begin
  ShowMessage('Test31');
end;

end.
  Mit Zitat antworten Zitat