PopUpMenu ruft OnClick-Funktionen nicht auf?!



  • Hallo zusammen,

    ich habe da ein PopUpMenu auf einer Form liegen. Soweit sogut. Dieses Menu ruft Click-Funktionen auf. Soweit alles ganz einfach. Klappt auch. Aaaber.... wenn ich das PopUpMenu an eine Klasse "weiterreiche" (als Parameter), und dort dann

    PopUpMenu->popup
    

    aufrufe, werden die Click-Funktionen nicht mehr aufgerufen....

    Warum ist das so? Der BCB6 meckert auch nicht rum beim compilieren, es passiert nur einfach nix beim aufrufen......

    *hilfe*

    Frank



  • Zeig mal wie du "weiterreichst" 😉



  • Hallo,

    ungefähr so:

    NeueKlasse(TPopupMenu *menu);
    

    Aufruf:

    nk = new NeueKlasse(MeinMenu);
    

    Innerhalb der Klasse wird dann

    menu->Popup
    

    aufgerufen

    Die Click-Funktionen liegen auf der Form,

    TForm1::MenuItemxxClick
    

    , da dort auch die Menu-Komponente liegt...

    Hoffe das war verständlich....

    Frank



  • Hallo

    Dann wird das OnClick-Ereignis nicht von er Popup-Methode aufgerufen, sondern du must es (wenn vorhanden) selber machen. Dieses Verhalten ist auch nachvollziehbar, denn bei manuellem Aufruf wird ja nirgends geklickt. Das ist z.B. bei der ComboBox genauso, ein manuelles Ändern des ItemIndexes löst auch keinen Click-Event aus.

    bis bald
    akari



  • Hallo Forum,

    hat sich erledigt, Click-Funktionen werden doch aufgerufen... allerdings erst nachdem der Code der nach

    ->Popup
    

    steht, ausgeführt wurde...

    Also so..

    Anweisung1();
    Anweisung2();
    Menu->Popup();
    Anweisung3();
    Anweisung4();
    

    Ausgeführt wird Anweisung1, dann 2, dann PopUp, dann 3, dann 4, und dann erst MenuItem1Click....

    Muss das jetzt mal alles umbauen, paßt so leider nicht ins Design meiner Anwendung..

    Trozdem danke an alle Leser...;-)

    Frank


Anmelden zum Antworten