Announcement

Collapse
No announcement yet.

universalprozedur zum menü durchscannen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • universalprozedur zum menü durchscannen

    hi,

    ich möchte eine universalprozedur programmieren, die alle menüs und untermenüs in einem mainmenü durchscannt und der man als parameter noch eine befehlszeile mitgeben kann was sie bei jedem menü tun soll!
    geht sowas?

    gruß

    markus
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    Wenn dir als Befehlszeile eine Prozedur mit fester Signatur reicht,
    geht's z.B. so:
    <pre>
    <code><font size=2 face="Courier New"><font color="#000000"><b>type
    </b>TMenuItemProc = <b>procedure</b>(item: TMenuItem);
    <br>
    <b>procedure </b>TestProc(item: TMenuItem);
    <b>begin
    </b>ShowMessage(item.Caption);
    <b>end</b>;
    <br>
    <b>procedure </b>EnumMenuItems(item: TMenuItem; proc: TMenuItemProc);
    <b>var
    </b>i: Integer;
    <b>begin
    for </b>i := <font color="#0000FF">0 </font><b>to </b>pred(item.Count) <b>do
    begin
    </b>proc(item[i]);
    EnumMenuItems(item[i], proc);
    <b>end</b>;
    <b>end</b>;
    <br>
    <b>procedure </b>TForm1.Button1Click(Sender: TObject);
    <b>begin
    </b>EnumMenuItems(MainMenu1.Items, TestProc);
    <b>end</b>;
    </font></font>
    </code></pre>

    HTH, Uli

    Comment


    • #3
      danke!

      werde es heute noch testen!

      gruß

      marku
      Herzliche Grüße

      Markus Lemcke
      barrierefreies Webdesign

      Comment


      • #4
        Bei einer Rekursion sollte eine Abbruchbedingung vorhanden sein

        Comment


        • #5
          Hi Robert,
          meine Routine <b>hat</b> eine Abbruchbedingung: irgendwann hast
          auch du keine Lust mehr, im Menü-Editor zu MainMenu1 noch mehr Items hinzuzufügen. ;-)
          <br>Ciao, Uli

          Comment

          Working...
          X