(TEdit) rechts Klick Problem



  • Hi Leute,

    ich habe auf meinem Form ein paar TEdits.
    Ich möchte nun das sich ein TPopupMenu öffnet
    wenn ich mit der Maus in das TEdit klicke.

    Soweit kein Problem, aber wenn ich es so einstelle das
    mein TPopupMenu aufpopt wenn ich mit der rechten Maustaste klicke,
    dann kommt erst dieses typische Windows Popup mit den Optionen
    "Kopieren", "Einfügen" etc.

    Kann ich dieses Popup Menü ausschalten so das ausschließlich mein
    Menü angezeigt wird?

    Liebe Grüße


  • Mod

    Hallo

    vermutlich hast du dein Edit nicht mit dem TPopupMenu verbunden.

    Denn ansonsten sollte das so funktionieren

    Mfg
    Klaus



  • Oh! Ja richtig.
    Ich wusste garnicht das das so möglich ist.
    Super Sache! Jetzt muss ich nicht immer so umständlich die Positionen
    bestimmen.

    Jetzt hab ich jedoch ein neues Problem, wie kann ich den
    feststellen von welchem TEdit das TPopupMenu aufgerufen wurde.

    Beschreibung:
    Ich rufe das TPopupMenu vom TEdit1 auf und klicke z.B. den
    zweiten Menüpunkt an. Dieser soll einen Text in das von mir
    angeklickte TEdit schreiben.

    Kann mir auch da einer weiterhelfen?



  • Hallo

    Das auslösende Edit wird im Popup-Event des Popup-Menüs als Parameter Sender übergeben. Du kannst es zurück zum Edit casten.

    bis bald
    akari



  • Hallo Akari,

    im prinzip verstehe ich was du meinst.
    Leider kann ich das programmiertechnisch nicht
    umsetzen.

    Ich hätte es jetzt (nach deiner Antwort) so gemacht:

    void __fastcall TForm_Main::MenuItemClick(TObject *Sender)
    {
        TEdit *edit = dynamic_cast<TEdit *>(Sender);
        edit->Text = Caption;
    }
    

    Leider scheint das nicht richtig zu sein.
    Kannst du mir da bitte weiter helfen?



  • Leider hat sich akari vertan, nicht die Edit-Komponente sondern das MenuItem wird als Sender übertragen.

    Aber mithilfe der Eigenschaft "PopupMenu->PopupComponent" kann die Komponente ermittelt werden.



  • Hi,

    vielen Dank für eure freundliche und schnelle Hilfe...

    Liebe Grüße!


Anmelden zum Antworten