![]() |
Re: Brauche Hilfe beim Mainmenu
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:
Mit dieser Funktion kannst du den benötigten Ordinaltyp über die Positionsbestimmung in einem String-Array erhalten.
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; Freundliche Grüße |
Re: Brauche Hilfe beim Mainmenu
Ich bin mein Formular jetzt mal durchgegangen. Ich will die Anzahl der MenuItems jetzt mal nicht nennen *hust* über 50 *hust*
Was wäre denn allgemein die effizienteste,speicherschonenste Methode, oder Möglichkeit zB den Quelltext des Progs möglichst klein zu halten? Hab mal die ActionList benutzt, find die auch gut da das Betätoigen eines beliebigen MenuItems schlussendlich in einer Prozedur endet. Nur verharkte ich mich da im moment tierisch mit dem CASE-Befehl, da Strings, wie sie hier die Namen der Menuitems wären nicht akzeptiert werden. Schlussendlich läuft das bei mir auf eine Datenbank hienaus. Also Texte und Bilder, leider hab ich im moment noch keine Ahnung wie sowas funktioniert :cry: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz