Afficher un message
Vieux 23/10/2005, 11h38   #10 (permalink)
ChTi160
XLDnaute Barbatruc
 
Avatar de ChTi160
 
Date d'inscription: février 2005
Localisation: Savigny le Temple 77176
Version Excel : Excel 2007 (PC)
Messages: 3 129
Envoyer un message via MSN à ChTi160
Par défaut Re:ListView et Initialisation ListImage

Salut MichelXLD

bonjour le Forum
bonjour le Fil

Michel je suis très touché car tes pages Wiki m'apprennent beaucoup et c'est Ok pour compléter ce que tu as déjà fait

je vais comme je te l'ai dit mettre un fichier qui reprendra ce que j'ai trouvé concernant les ListView ce sont des adaptations de ce que j'ai trouvé sur le net(Merci aux personnes dont je n'ai pas relevées les noms)
par exemple:
Centrer une colonne de la Listeview
Call LV_Trains.ColumnHeaders.Add(, , 'Heure', LV_Trains.Width / 4, lvwColumnCenter)
ajuster la Largeur des colonnes à celle du Textevia une fonction RefreshLV LV_Trains
dans un Module Standart
Code:
Option Explicit
    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
    Private Declare Function LockWindowUpdate Lib 'user32' (ByVal hwndLock As Long) As Long
   
    Private Const LVM_FIRST = &H1000
    Private Const LVM_SETCOLUMNWIDTH = LVM_FIRST + 30
    Private Const LVSCW_AUTOSIZE = -1
Code:
 Sub RefreshLV(LV_Trains As ListView)
   
       LockWindowUpdate LV_Trains.Hwnd
       Call SendMessage(LV_Trains.Hwnd, LVM_SETCOLUMNWIDTH, 0, LVSCW_AUTOSIZE)
  
       If LV_Trains.ColumnHeaders(1).Width < LV_Trains.Width Then
          If LV_Trains.Height > (LV_Trains.ListItems.Count * 270) Then
               LV_Trains.ColumnHeaders(1).Width = LV_Trains.Width - 80
           Else
               If LV_Trains.ColumnHeaders(1).Width < LV_Trains.Width - 320 Then
                   LV_Trains.ColumnHeaders(1).Width = LV_Trains.Width - 320
               End If
         End If
      End If
      LockWindowUpdate 0&
  
   End Sub
Trier les Colonnes
Code:
Private Sublv_ColumnClick (ByVal ColumnHeader As MSComctlLib.ColumnHeader)
    LV_Trains.SortKey = ColumnHeader.Index - 1
   LV_Trains.Sorted = True
    LV_Trains.SortOrder = lvwAscending
End Sub
colorer le texte des SubItems
Code:
Set subItm = wItem.ListSubItems.Add(, , '15:30')
    subItm.ForeColor = vbRed
donner la possibilité de modifier les SubItems etc ....
Bonne Journée
__________________
Amicalement Jean Marie

ChTi160 est déconnecté   Réponse avec citation