K

- Base de connaissances

Accueil > API WINDOWS > LockWindowUpdate

LockWindowUpdate

mercredi 5 décembre 2012, par webmestre

Fichier DLL : user32.dll

Prototype VB6/VBA :

Declare Function LockWindowUpdate Lib "user32" (ByVal hWndLock As Long) As Long

Prototype VB.NET :

 
Private Sub listeNTLiee_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
    '---Déclaration des variables---
    Dim lngCursor   As Long
    Dim lngIndex    As Long
    Dim strFormat   As String
    Dim l           As Long
   
    '---Affichage---
    lngCursor = listeNTLiee.MousePointer
    listeNTLiee.MousePointer = vbHourglass
   
    '---Bloque le contrôle---
    LockWindowUpdate listeNTLiee.hwnd
   
    '---Tri les données---
    strFormat = String(8, "0")
    lngIndex = ColumnHeader.Index - 1
    Select Case lngIndex
    Case Is >= 3 ' Tri numérique
        With listeNTLiee.ListItems
            For l = 1 To .Count
                With .Item(l).ListSubItems(lngIndex)
                    .Tag = .Text
                    .Text = Format(CDbl(.Text), strFormat)
                End With
            Next l
        End With
           
        listeNTLiee.SortOrder = (listeNTLiee.SortOrder + 1) Mod 2
        listeNTLiee.SortKey = lngIndex
        listeNTLiee.Sorted = True
           
        ' Restaure les valeurs
        With listeNTLiee.ListItems
            For l = 1 To .Count
                With .Item(l).ListSubItems(lngIndex)
                    .Text = .Tag
                End With
            Next l
        End With
       
    Case Else ' Tri alphabétqiue
        listeNTLiee.SortOrder = (listeNTLiee.SortOrder + 1) Mod 2
        listeNTLiee.SortKey = lngIndex
        listeNTLiee.Sorted = True
           
    End Select
   
    '---Déloque le contrôle active X---
    LockWindowUpdate 0&
       
    '---Affichage---
    listeNTLiee.MousePointer = lngCursor
    listeNTLiee.SelectedItem.EnsureVisible
    lIndexProjetSel = listeNTLiee.SelectedItem.Index
End Sub

Répondre à cet article

Plan du site | Suivre la vie du site RSS 2.0 | powered by NYSTEK-EDITIONS and NYSTEK-CONSULTING