
Mediante el API podemos seleccionar y "des-seleccionar" todos los elementos de un listbox con facilidad.
Declaramos en un módulo :
Declare Function SendMessageByNum Lib "user32" Alias "SendMessageA"
(ByVal hwnd As Long, ByVal wMsg As Long,ByVal wParam As Long,
ByVal lParam As Long) As Long
Public Const LB_SETSEL = &H185
Public Const LB_SELITEMRANGEEX = &H183
No olvides que el ListBox debe estar con MultiSelect = 1 ó 2
Para seleccionar todos los elementos :
Dim res As Long
res = SendMessageByNum(List1.hwnd, LB_SETSEL, True, -1)
Para que no haya ninguno seleccionado :
Dim res As Long
res = SendMessageByNum(List1.hwnd, LB_SETSEL, False, -1)
Para seleccionar un grupo de elementos :
Dim res As Long, prim as long, ult as long
prim = 2: ult = 4
res = SendMessageByNum(List1.hwnd, LB_SELITEMRANGEEX, prim,ult)

