Einzelnen Beitrag anzeigen

marabu

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

Re: Brauche Hilfe beim Mainmenu

  Alt 24. Mär 2007, 15:57
Hallo,

um den Ordinaltyp kommst du bei der CASE-Anweisung nicht drum herum. Entweder du machst es so, wie dir Jens in Beitrag #3 gezeigt hat oder du musst tricksen: Weise der Tag-Property der MenuItems jeweils eine eindeutige Konstante zu und werte diese dann aus (siehe Beitrag #7) oder verwende die Eigenschaft Command eines MenuItems, welche abhängig von der Position des Items im MainMenu ist. Noch eine Alternative wäre die Funktion AnsiIndexText():

Delphi-Quellcode:
procedure TForm1.Action1Execute(Sender: TObject);
var
  vName: String; // Variable die nachher vom Case of überprüft werden soll
begin
  with Sender as TAction do
    if ActionComponent is TMenuItem then
    begin
      vName := TMenuItem(ActionComponent).Name;
      Label1.Caption := vName;
      case AnsiIndexText(vName, [MenuItem1.Name, MenuItem2.Name]) of
        0: {MenuItem1};
        1: {MenuItem2};
      end;
    end;
end;
Mit dieser Funktion kannst du den benötigten Ordinaltyp über die Positionsbestimmung in einem String-Array erhalten.

Freundliche Grüße
  Mit Zitat antworten Zitat