Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Can I trap right/double click of item in ListView
Message
General information
Forum:
Visual FoxPro
Category:
ActiveX controls in VFP
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01185259
Message ID:
01185701
Views:
16
Borislav,

I had looked at the MouseDown event. It does have a button parm that will tell me if the right or left button was pressed. It also passes an x and y coordinate. However, I'm having trouble determining if the user clicked on an item in the list or just in some empty space within the control.

I tried doing a hittest() with the x & y parms but it doesn't seem to work the way I'm expecting.

This is the code I've placed in MouseDown event:
*** ActiveX Control Event ***
LPARAMETERS button, shift, x, y
loNode = .NULL.

IF button = 2
   loNode = this.hitTest(x,y)
   IF VARTYPE(loNode) == "O"
      = MESSAGEBOX("Right Click")
   ENDIF 
ENDIF 
My understanding is that hittest is supposed to return a reference to the item in the listview that has the coordinates of x,y. However, the above code seems to work exactly opposite. If I right click on empty space in the control, it returns a ListItem object of the currently selected item.

If I actually right click on the item, then hittest returns nothing.

Any ideas as to how to tell what item in the list the user right clicked?

Thanks for your input!

Rodd

>>I've been playing around with the ListView control (MSComctlLib.ListViewCtrl2). I am able to add items, display them with small icons, large icons, etc. However, I have not yet found a way to trap the right click or double click of an item.
>>
>>The control has a ItemClickEvent but that responds to a single click and doesn't tell if the user right or left clicked. I want to be able to open up a context sensitive menu if the user right clicks an item or launch a form if the user double clicks an item (much like the behaviour of windows explorer).
>>
>>Thanks for your help!
>>
>>Rodd
>
>You could use MouseDown or MouseUp events, there must be parameter that shows you what button is pressed.
>I mostly use TreeView control and it has such parameters in these events.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform