Menüeinträge zur Laufzeit erstellen



  • Hallo,
    ich möchte zur Laufzeit in ein Menü weitere Einträge einfügen. Deshalb folgende Frage: Wie kann ich einem solchen Eintrag zur Laufzeit beibringen, welche Funktion er beim onClick-Ereignis ausführen soll?
    Wahrscheinlich mit der Einganschaft TMenuItem::OnClick. Leider hab ich die Borland-Hilfe dazu nicht so ganz kapiert.
    Könnte mir vielleicht jemand ein Stück Code geben?

    Danke im Vorraus
    m-hoeppner



  • Also TMenuItem::OnClick war schon richtig. Du musst den Prototyp der Funktion als Methode deiner Form in den Header deines Projekts schreiben. Also ungefähr so:

    //Form1.h 
    ...
    class TForm1 : public TForm
    {
      ...
      private:
          void __fastcall MyOnClickEvent(TObject *Sender);
      ...
    }
    

    Dann schreibst du halt irgendwo, was die Funktion machen soll:

    void __fastcall TForm1::MyOnClickEvent(TObject *Sender)
    {
      Application->MessageBox("Hallo","Info",MB_OK);
    }
    

    Und dann kannst du dem MenuItem mit

    MenuItem1->OnClick = MyOnClickEvent;
    

    die Funktion zuweisen und fertig!



  • Vielen Dank, das funktioniert!



  • Siehe auch FAQ, "Komponenten zur Laufzeit erstellen..."

    -junix


Log in to reply