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
Mar 23, 2000

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


Prevent Duplicate Listbox Entries

This useful code listing prevents users from entering duplicate entries into a listbox or modifying existing listbox entries. While the code prevents users from adding duplicate entries, you can modify the True condition of the If block in the Add_New procedure to suit your needs. Declare the constant, LB_ FINDSTRINGEXACT and the SendMessage function declaration in a BAS module:
 
Declare Function SendMessageByString Lib _
	"user32" Alias "SendMessageA" (ByVal hWnd As _
	Long, ByVal wMsg As Long, ByVal wParam As _
	Long, ByVal lParam As String) As Long
Public Const LB_FINDSTRINGEXACT = &H1A2
This function uses the SendMessageByString API and returns either the existing item's index or -1. If it returns -1, you can add the item:
 
Function ChkListDuplicates(chwnd As Long, _
	StrText As String) As Boolean
	ChkListDuplicates = (SendMessageByString(chwnd, _
		LB_FINDSTRINGEXACT, -1, StrText) > -1)
End Function
If the LB_FINDEXACTSTRING message returns a value of -1, no match was found, so ChkListDuplicates returns False. You can use this value to determine whether to add a new item to your list:
 
Private Sub Add_New()
	Dim user As String
	user = InputBox("Add ListBox Entry", "Test Project")
	If Len(user) Then
		If Not ChkListDuplicates(List1.hWnd, _
			Trim(user)) Then
			List1.AddItem Trim(user)
		Else
			MsgBox "Duplicate Names can not be " & _
				"added." & vbCrLf & "Please " & _
				"make sure you are not adding " & _
				"duplicate names.", vbExclamation, _
				"Test Project: Invalid Operation"
		End If
	End If
End Sub
Kedar Sathe
 
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