Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Brauche Hilfe beim Mainmenu

  Alt 23. Mär 2007, 15:56
Herzlich willkommen in der Delphi-PRAXiS, CUBEstorm.

Für Items mit ähnlicher Funktion kannst du sehr einfach einen gemeinsamen event handler bereit stellen. Im folgenden Beispiel wird angenommen, dass du die vier möglichen ViewStyles der tag-property der MenuItems zugeiwsen hast:

Delphi-Quellcode:
procedure TDemoForm.ViewStyleClick(Sender: TObject);
begin
  with Sender as TMenuItem do
    ListView.ViewStyle := TViewStyle(Tag);
end;
Genausogut könntest du die Eigenschaft Command des MenuItems als Diskriminator in einem CASE-Statement verwenden.

Noch professioneller ist der Einsatz von TActionList (Erste Palettenseite) und die Zuweisung der Actions an die MenuItems, wie ihn Klaus empfohlen hat. Das hat gleich mehrere Vorteile: So implementierst du (OnExecute) die Aktion nur einmal, egal über welche Schnittstelle (Tastatur, Maus) und welche Komponenten (TMenuItem, TButton, TToolButton) der Benutzer deines Programmes die Aktion auslöst. Darüber hinaus kannst du auch gleich die Verfügbarkeit der Befehle über das Event OnUpdate() komfortabel behandeln.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat