Hit-Parade .VB Research Center . Compteur
Accueil ~  Code ~  Programmes ~  Api ~  Forum ~  Cours ~  Livres ~  Quiz ~  Annuaire
~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période.
Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes.

~ Rechercher ~

  

~ Annuaire VB ~
 Rechercher un site :
  

~ Partenaires ~

Procédure : AdjustColListView
Ajustement automatique des colonnes d'un contrôle ListView suivant leur contenu.
(Consulté 19237 fois.)

' Déclaration de fonction API
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
' Déclaration de constantes
Private Const LVM_FIRST = &H1000
Private Const LVM_SETCOLUMNWIDTH = LVM_FIRST + 30
Private Const LVSCW_AUTOSIZE = -1

Public Sub AdjustColListView(lvwListView As ListView, frmAppel As Form)
' Cette procédure ajuste automatiquement la taille des colonnes d'un
' contrôle ListView (mode détail) à leur contenu.
Dim lgFor As Long
' Parcours de toutes les colonnes
For lgFor = 0 To lvwListView.ColumnHeaders.Count - 1
   
' Ajuste la largeur de la colonne à son contenu
   
Call SendMessage(lvwListView.hwnd, LVM_SETCOLUMNWIDTH, lgFor, LVSCW_AUTOSIZE)
   
' Vérifie que le titre la colonne est toujours
    ' visible complètement, sinon, augmente sa taille.
   
If lvwListView.ColumnHeaders(lgFor + 1).Width < _
        (frmAppel.TextWidth(lvwListView.ColumnHeaders(lgFor + 1).Text) + 180)
Then
           
lvwListView.ColumnHeaders(lgFor + 1).Width = _
            frmAppel.TextWidth(lvwListView.ColumnHeaders(lgFor + 1).Text) + 180
   
End If
Next
lgFor
End Sub

Visual Basic Research Center - (c) 2000/2002 -  Webmaster : docvb (chez) free (point) fr