Button rechte linke Maustaste
-
Wie kann ich abfragen ob ein Button mit der rechten oder mit der linken Maustaste gedrückt wurde?
-
wenn ich auf nem button mit rechts klick {eigene app} dann wird der gar nicht gedrueckt, um rechtsklick abzufragen muesstest du dem element OnContextMenu (oder so aehnlich) verpassen, da OnBnClicked nur bei linksklick kommt {bei mir}
-
Erzeuge eine eigene Button-Klasse und ergänze einen Handler für OnRButtonDown.
Wenn es um ein Kontextmenü geht hat Die Mr Evel schon einen Hinweis auf OnContextmenu gegeben...
-
irgendwie habe ihc das noch nicht ganze verstanden. ALso ich habe den Button und ja ich möchte ein Kontextmenü anwenden.
void CProjektDlg::OnBearbeiten() { // TODO: Code für die Behandlungsroutine der Steuerelement-Benachrichtigung hier einfügen CString str; char Zeile[200]; CString Konzentration[300]; CString Gesamtdichte[300]; int i = 1; int ii = 0; CMenu *m_Menu; POINT pt; GetCursorPos(&pt); m_Menu = GetMenu(); m_Menu = m_Menu->GetSubMenu(0); m_Menu->TrackPopupMenu(TPM_LEFTALIGN + TPM_RIGHTBUTTON,pt.x, pt.y, this, NULL); ii = m_ctlTabellenListe.GetCurSel(); if ( ii != LB_ERR) {Das ist jetzt mein Code. Wenn man auf Bearbeiten klickt soll erst das Menü geladen ist, wenn man die rechte Maustaste geklickt hat ansonsten der Rest. Und ihc verstehe nicht ganz was ihr meintet
bzw. wie kann ich meinem Button die Funktion OnContextmenu zuweisen?
-
Wenn Dein Buttonb kein Kontext Menü hat bekommt Dein Elternfenster die Nachricht WM_CONTEXTMENU, dort kannst Du einen Handler einbauen und kontrollieren wohin geklickt wurde.
Alles andere setzt voraus, dass Du Deine eigene Button Klasse erzeugst und dort die entsprechenden Handler einbaust.
Ich würde Letzters tun.