[C/C++] Ereignisbehandlung bei zur Laufzeit erstellten Popup-Menüs

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von bermuda, 16. September 2007 .

Schlagworte:
  1. 16. September 2007
    Ereignisbehandlung bei zur Laufzeit erstellten Popup-Menüs

    Hallo,

    Normalerweise sieht die Ereignisbehandlung für Menus im MFC so aus:

    1. Man hat ein Menu-Ressource, jeder Menu-Eintrag hat eine bestimmte ID z.B. ID_APP_EXIT

    2. Für diesen Befehl gibt es eine Behandlungsfunktion:

    // Deklaration
    afx_msg void OnExit();

    // message map Makro
    BEGIN_MESSAGE_MAP(theClass, baseClass)
    ON_COMMAND(ID_APP_EXIT, OnExit)
    ON_COMMAND_RANGE(id1, id2, memberFxn) // falls mehrere ID-Befehle dieselbe Behandlungsroutine haben
    END_MESSAGE_MAP()

    // Definition
    void theClass::OnExit {
    }

    3. Wenn der Benutzer auf diesen Eintrag aus dem Menu klickt, dann ruft das Framework diese Behandlungsfunktion.

    Das alles funktioniert, falls das Menu zur Kompillierungszeit erstellt wird, und man weiss was man hat, aber ich erstelle das Menu zur Laufzeit, somit weiss ich nicht im Voraus, was ich habe.

    Mein Programm liest aus einer MS Access Datenbank die Einträge und bildet das Menu daraus, in dieser Datenbank ist das Pfad zu verschiedenen Programmen gespeichert.

    Der primäre Schlüssel (primary key) wird als ID für die Menueinträge verwendet. Wenn man auf einen Eintrag klickt, wird das Programm ausgeführt, das heisst die Behandlungsfunktion sieht immer gleich aus, nur das Ausführungspfad ändert sich.

    und das sieht so aus:

    {bild-down: http://img510.imageshack.us/img510/5330/unbenanntgi7.png}


    danke für eure hilfe, bewertung ist selbstverständlich
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.