dcsimg
Login | Register   
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Language: Visual Basic
Expertise: Intermediate
Apr 16, 1999

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


Implement a ListView ItemDoubleClick Event

Double-clicking an icon or file name in Explorer is the standard way of launching an application in Windows. However, if you're developing an app that uses the ListView control from the Microsoft Windows Common Controls library (COMCTL32.ocx), this functionality is not directly exposed through an event. You have a DoubleClick event for the ListView control, but this event gets raised when a user double-clicks anywhere on the control. You also have an ItemClick event, but this event is only fired for a single-click on a ListItem object. Wouldn't it be nice to have an ItemDoubleClick event?

Use the ListView's MouseUp event to trap the X and Y coordinates of where the user last clicked the mouse. Here's a way to implement this functionality in your code:

 
Option Explicit

Private sngListViewX As Single
Private sngListViewY As Single

Private Sub ListView1_MouseUp(Button As Integer, Shift As _
	Integer, x As Single, y As Single)
	sngListViewX = x
	sngListViewY = y
End Sub
After trapping these coordinates, pass them to the HitTest method of the ListView control during the DoubleClick event to determine whether a user has double-clicked on a particular ListItem object:
 
Private Sub ListView1_DblClick()
	Dim lListItem As ListItem

	Set lListItem = ListView1.HitTest(sngListViewX, _
		sngListViewY)
	If (lListItem Is Nothing) Then
		MsgBox "You did not double-click on a ListItem."
	Else
		MsgBox "You double-clicked on ListItem=" & _
			lListItem.Text
	End If
	Set lListItem = Nothing
End Sub
Dwayne Bradley
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date