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