/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Højreklik på listview (del 2), VB6
Fra : Neo


Dato : 11-04-05 07:56

Hej alle

Kan I mon hjælpe mig med den her ?

Jeg har en listview (lvDag) hvor der fremkommer en popup menu når jeg
højreklikker på den.

Problemet er at jeg ikke får valgt den række jeg højreklikker på, altså
lvDag.selecteditem.index reagerer ikke på mit højreklik.

Som det er nu bliver jeg nødt til at venstreklikke med musen på den række
jeg er interesseret i at tilgå (lvDag.selecteditem.index), og derefter
højreklikke for popup menu.

Hvad skal jeg gøre for at vælge rækken og få popup i et enkelt højreklik ?

min kode ser således ud:

Private Sub lvdag_MouseDown(Button As Integer, Shift As Integer, x As
Single, y As Single)

' Make sure it's the right button.
If Button And vbRightButton Then

[en masse kode]

popup:
PopupMenu mnuPopup
End If

End Sub


mvh Neo



 
 
Agner (11-04-2005)
Kommentar
Fra : Agner


Dato : 11-04-05 14:46


"Neo" <neo___dk@hotmail.removethis.com> skrev i en meddelelse
news:425a2113$0$173$edfadb0f@dtext02.news.tele.dk...
> Hej alle
>
> Kan I mon hjælpe mig med den her ?
>
> Jeg har en listview (lvDag) hvor der fremkommer en popup menu når jeg
> højreklikker på den.
>
> Problemet er at jeg ikke får valgt den række jeg højreklikker på, altså
> lvDag.selecteditem.index reagerer ikke på mit højreklik.
>
> Som det er nu bliver jeg nødt til at venstreklikke med musen på den række
> jeg er interesseret i at tilgå (lvDag.selecteditem.index), og derefter
> højreklikke for popup menu.
>
> Hvad skal jeg gøre for at vælge rækken og få popup i et enkelt højreklik ?
>
> min kode ser således ud:
>
> Private Sub lvdag_MouseDown(Button As Integer, Shift As Integer, x As
> Single, y As Single)
>
> ' Make sure it's the right button.
> If Button And vbRightButton Then
>
> [en masse kode]
>
> popup:
> PopupMenu mnuPopup
> End If
>
> End Sub
>
>
> mvh Neo

'Det kan godt være der er en nemmere metode.
'Api' en og Const skal stå i formens declaration sektion.

hilsen, agner

Private Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long

Const LB_GETITEMHEIGHT = &H1A1

Private Sub List1_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
Dim rtn As Long, ms As Long, nr As Integer, tPerP As Integer
Dim i As Integer
tPerP = Screen.TwipsPerPixelY
If Button And vbRightButton Then
For i = 0 To List1.ListCount - 1
If List1.Selected(i) = True Then List1.Selected(i) = False
Next
rtn = SendMessage(List1.hwnd, LB_GETITEMHEIGHT, 0&, 0&)
rtn = rtn * tPerP
nr = Int(Y / rtn) + List1.TopIndex
List1.Selected(nr) = True
End If
End Sub



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste