Checking ListView items without using Loop

Hi Experts

   i would like to know whether there is any alternative method to Check / Uncheck all the ListItems in a ListView Control rather than using a loop. Will Subclassing can do this ?

Thanks in Advance

;-)
Shiju

LVL 14
Shiju SasidharanAssoc Project ManagerAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

ArkCommented:
Hi

Private Const LVIS_STATEIMAGEMASK As Long = &HF000
Private Const LVIS_UNCHECKED = &H1000
Private Const LVIS_CHECKED = &H2000
Private Const LVIF_STATE = &H8
Private Const LVM_FIRST = &H1000
Private Const LVM_SETITEMSTATE = (LVM_FIRST + 43)

Private Type LV_ITEM
  Mask As Long
  iItem As Long
  iSubItem As Long
  state As Long
  stateMask As Long
  pszText As String
  cchTextMax As Long
  iImage As Long
  lParam As Long
  iIndent As Long
End Type

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

Sub SelectAll(hWnd As Long, Sel As Boolean)
  Dim LV As LV_ITEM
  With LV
    .Mask = LVIF_STATE
    .state = IIf(Sel, LVIS_CHECKED, LVIS_UNCHECKED)
    .stateMask = LVIS_STATEIMAGEMASK
  End With
  Call SendMessage(hWnd, LVM_SETITEMSTATE, -1, LV) ' -1=all items
End Sub

'Using:
SelectAll ListView1.hwnd, True
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Shiju SasidharanAssoc Project ManagerAuthor Commented:
Hi

Thank u Ark
it works fine

;-)
Shiju
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.