Hallo. Ich möchte bei einem Datagrid mit der rechten Maustaste einen Eintrag auswählen, um über das Kontextmenü eine entsprechende Aktion auszulösen. Wie kann die mit der rechten Maustaste einen Eintrag aktivieren?
Gruss Anwender
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Ich gehe einfach mal davon aus das ein Datagrid eine Methode besitzen wird, die die Koordinate(n) des Eintrags unter an einer bestimmten Bildschirmkoordinate zurück gibt. Anschließend könntest Du die Auswahl auf diese Koordinate(n) setzen...
Hi Borlander.
Ich bekomme über das Klickereignis die Koordinaten, kann aber nicht viel damit anfangen. Könntest du mir ein Beispiel machen?
Gruss Anwender
Mangels VB (ich nutze eher die SDKs von Borland...) kann ich da leider mit keinem Beispiel dienen...
In Delphi haben Grids die Methoden MouseCoord und MouseToCell, ich vermute das die Grinds in VB eine ähnliche Methode besitzen für die Umrechnung von Maus ins Zell-Koordinaten...
Gruß
Borlander
Ich habe mittlerweile eine Lösung gefunden:
Private Sub dtgResultat_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
Dim Row As Long
Dim Col As Long
Row = dtgResultat.RowContaining(Y)
Col = dtgResultat.ColContaining(X)
If Row > -1 Then
If Col > -1 Then
dtgResultat.Bookmark = dtgResultat.RowBookmark(Row)
dtgResultat.Col = Col
End If
End If
PopupMenu mnuPopUp
End If
End Sub
Somit werden mit einem Rechtsklick auf eine Zeile im DataGrid diese ausgewählt und ein PopUpMenü angezeigt.
Gruss Anwender