BitBtn und rechte Maustaste



  • Wie kann ich beim rechten Mausklick auf einen BitBtn den Zustand "gedrückt" bekommen, sowie bei der linken Maustaste ?

    Danke und Gruß

    WoWe



  • void __fastcall TForm1::BitBtn1MouseDown(TObject* Sender, TMouseButton* Button, TShiftState Shift, int X, int Y)
    {
            if (Button==mbRight)
            {
                    ShowMessage("Rechte Maustaste gedrückt.");
            }
    }
    void __fastcall TForm1::BitBtn1MouseUp(TObject* Sender, TMouseButton* Button, TShiftState Shift, int X, int Y)
    {
            if (Button==mbRight)
            {
                    ShowMessage("Rechte Maustaste losgelassen.");
            }
    }
    


  • Ne ne ne, da hast du mich falsch verstanden. Ich meine nicht die Abfrage ob gedrückt oder nicht, sondern ich möchte das der Button auch mit der rechten Maustaste *runtergedrückt* wird. Also was ich will ist, dass sich die Graphik/das Bitmap auch mit der rechten Maustaste ändert, alles andere geht ja.



  • @Windoof
    Dein Code ist zwar sehr net, hat aber mit der Fragestellung überhaupt nix zu tun

    @WoWe
    Du kannst z.B. eine Message an dein BitBtn senden:

    // Button gedruckt "anzeigen"
    void __fastcall TForm1::BitBtn1MouseDown(TObject *Sender,
          TMouseButton Button, TShiftState Shift, int X, int Y)
    {
      if ((X != 0 || Y != 0) && Button == mbRight)
        SendMessage(BitBtn1->Handle, WM_LBUTTONDOWN, MK_LBUTTON, 0);
    }
    //---------------------------------------------------------------------------
    // Unser gebruckten Button wieder loslassen
    void __fastcall TForm1::BitBtn1MouseUp(TObject *Sender,
          TMouseButton Button, TShiftState Shift, int X, int Y)
    {
      if ((X != 0 || Y != 0) && Button == mbRight)
        SendMessage(BitBtn1->Handle, WM_LBUTTONUP, MK_LBUTTON, 0);
    }
    //---------------------------------------------------------------------------
    
    (X != 0 || Y != 0)
    

    ist nur ganz einfache prüfung, damit man keine endlosschleife erzeugt. Dass ein Benutzer mit einer mausetaste auf Punkt 0:0 klickt, ist eher unwarscheinlich und dürfte für dieses Beispiel reichen.



  • Hallo Xqgene,

    vielen Dank für deine Hilfe. Funktioniert prima, genau sowas hab ich gesucht.

    WoWe


Anmelden zum Antworten