Button per Maus verschieben (war: Zwei Fragen (1. this, 2. allg. Frage))



  • Hallo zusammen,
    1.)
    Ich hätte als erstes mal eine Frage über den Pointer this:

    /*Durch einen Klick auf den Button, soll sich dieser 10 Pixel nach unten verschieben*/
    void __fastcall TForm1::BitBtn1Click(TObject *Sender)
    {
       this->Top += 10; //Button 10px nach unten verschieben
    }
    

    Allerdings verschiebt sich nicht der Button, sondern das gesamte Formular nach unten.
    Wie greife ich richtig auf das Buttonobjekt zu? Ich habe schon Kombinationen aus Sender und this ausprobiert, aber das scheint alles nicht richtig hinzuhauen.

    2.)
    Diese Frage hängt eigentlich mit der ersten Frage zusammen. Wenn ich den genannten Button angeklickt habe, möchte ich ihn gerne -solange die linke Maustaste gedrückt ist-, mit der Maus verschieben können.
    Ich weiß allerdings nicht, welche Methoden ich dafür verwenden könnte.
    Ich nehme an, dass ich mit MouseCoord() die Position der Maus ermitteln kann, aber ich weiß nicht, wie man überprüft, ob eine bestimmte Taste (in diesem Fall die linke Maustaste) gedrückt wird. Funktioniert das vielleicht mit MouseDown?

    Wäre nett, wenn mir jemand helfen könnte 🙂
    Danke im voraus

    [EDIT]
    Bitte aussagekräftige Überschriften wählen. Danke!
    [/EDIT]



  • zu 1)
    Wenn ich mich an meine BCB-Zeit richtig erinnere, bezieht sich this immer auf das Form. Daher muss es heißen this->BitBtn1->Top oder (TBitBtn)(Sender)->Top oder Form1->BitBtn1->Top oder einfach BitBtn1->Top.

    zu 2)
    Ja, ich glaube schon.
    Frag aber mal einen netten Moderator, ob er den Thread ins BCB-Forum verscheibt. Die kennen sich damit besser aus.

    [EDIT]
    Zitate bitte auf das Notwendigste beschränken. Danke!
    [/EDIT]



  • Dieser Thread wurde von Moderator/in volkard aus dem Forum C++ in das Forum VCL/CLX (Borland C++ Builder) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Zu this lies einfach mal in der BCB-Hilfe bzw. im C++-Buch deiner Wahl nach.

    Zum Verschieben des Buttons siehe die FAQ unter "Forms".


Anmelden zum Antworten