begin process at 2012 02 16 15:52:37
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Control

 > POUR CEUX QUI PRENNENT LES LISTVIEW POUR DES LISTBOX

POUR CEUX QUI PRENNENT LES LISTVIEW POUR DES LISTBOX


 Information sur la source

Note :
Aucune note
Catégorie :Control Classé sous :listview, listbox, colonne Niveau :Débutant Date de création :02/09/2005 Vu / téléchargé :9 937 / 715

Auteur : yomm

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
En gros c'est une fonction pratique plus qu'autre chose mais bon je me suis dit que cela pouvait intéresser du monde...

Cette fonction sert pour les ListView avec une seule colonne (avec ou sans icone, avec ou sans checkbox) pour adapter la largeur de la colonne à la largeur du plus large  listitem afin d'avoir un réel rendu de FullRowSelect

Propriétés indispensables du listview pour cette fonction:
View=lvwReport
FullRowSelect=True
Avoir au moins une colonne

Source

  • 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
  • Private Sub RefreshLV(LV As ListView)
  • LockWindowUpdate LV.Hwnd
  • Call SendMessage(LV.Hwnd, LVM_SETCOLUMNWIDTH, 0, LVSCW_AUTOSIZE)
  • If LV.ColumnHeaders(1).Width < LV.Width Then
  • If LV.Height > (LV.ListItems.Count * 270) Then
  • LV.ColumnHeaders(1).Width = LV.Width - 80
  • Else
  • If LV.ColumnHeaders(1).Width < LV.Width - 320 Then
  • LV.ColumnHeaders(1).Width = LV.Width - 320
  • End If
  • End If
  • End If
  • LockWindowUpdate 0&
  • End Sub
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

Private Sub RefreshLV(LV As ListView)
    
    LockWindowUpdate LV.Hwnd
    Call SendMessage(LV.Hwnd, LVM_SETCOLUMNWIDTH, 0, LVSCW_AUTOSIZE)
    
    If LV.ColumnHeaders(1).Width < LV.Width Then
        If LV.Height > (LV.ListItems.Count * 270) Then
            LV.ColumnHeaders(1).Width = LV.Width - 80
        Else
            If LV.ColumnHeaders(1).Width < LV.Width - 320 Then
                LV.ColumnHeaders(1).Width = LV.Width - 320
            End If
        End If
    End If
    LockWindowUpdate 0&
    
End Sub

 Conclusion

Voilà , c'est pas bien méchant mais ça peut toujours servir...

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) YOMMEXPLORER.NET EXPLORER / EXPLORATEUR DE DOSSIERS RÉPERTOI...
Source avec Zip Source avec une capture Source .NET (Dotnet) DIREXPLORER EXPLORATEUR / EXPLORER DE DOSSIERS MULTIFONCTION...
Source avec Zip Source avec une capture YOMMEXPLOREROCX POUR CE QUI VEULENT UN VRAI EXPLORATEUR WIND...
Source avec Zip Source avec une capture YOMMEXPLORER : OUBLIEZ LE DIRLISTBOX ET LE FILELISTBOX
Source avec Zip Source avec une capture TVEXPLORER : ARBORESCENCE DES RÉPERTOIRES LE DIREXPLORER REV...

 Sources de la même categorie

Source avec Zip COMMUNICATION MODBUS MASTER par sergelapointe
Source avec Zip Source avec une capture DÉPLACEMENT AVEC FLÈCHES DANS UN PAVÉ DE TEXTBOX 9X9 DYNAMIQ... par EhJoe
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLSTARS EN RÉPONSE À JAKNIGHT007 par bigboss9
Source avec Zip Source avec une capture Source .NET (Dotnet) CALENDRIER ANNUEL NORME ISO par Prog1001
Source avec Zip Source avec une capture Source .NET (Dotnet) CONTROLE STARS par jaknight007

 Sources en rapport avec celle ci

Source avec Zip FONCTIONS PRATIQUE POUR LISTVIEW par Galactus13
Source avec Zip Source avec une capture TRI DES ITEMS DE LISTVIEW (DATE, NUMÉRIQUE OU PERSO) par Renfield
Source avec Zip Source avec une capture BASE DE DONNÉE ET LISTVIEW par Galactus13
Source avec Zip Source avec une capture Source .NET (Dotnet) CRÉER DIAPORAMA PPT par Le Pivert
Source avec Zip Source avec une capture LISTBOX/LISTVIEW PERSONNALISABLE A VOLONTE par gogomanu

Commentaires et avis

Commentaire de econs le 02/09/2005 15:39:58 administrateur CS



If LV.Height > (LV.ListItems.Count * 270) Then

Je suppose que le 270 dépend de la police employée dans la listview, et de la taille des caractères ...

Commentaire de sebmafate le 02/09/2005 16:19:32 administrateur CS

en mettant -2 pour la largeur de la colonne, normalement elle est redimensée à la plus grande largeur... le problème c'est qu'il faut renseigner cette largeur après chaque insertion.

Commentaire de yomm le 02/09/2005 17:12:39

>> ECONS
en effet, j'utilise toujours la police par défaut mais bien vu! Pour cela utilisons la propriété height d'un listitem ;-) et en testant qu'il y a bien au moins 1 item dans la list...enfin bref cela donne :

Private Sub RefreshLV(LV As ListView)
    
    LockWindowUpdate LV.Hwnd
    Call SendMessage(LV.Hwnd, LVM_SETCOLUMNWIDTH, 0, LVSCW_AUTOSIZE)
    
    If LV.ColumnHeaders(1).Width < LV.Width Then
        If LV.ListItems.Count = 0 Then
            LV.ColumnHeaders(1).Width = LV.Width - 80
            LockWindowUpdate 0&
            Exit Sub
        ElseIf LV.Height > (LV.ListItems.Count * LV.ListItems(1).Height) Then
            LV.ColumnHeaders(1).Width = LV.Width - 80
        Else
            If LV.ColumnHeaders(1).Width < LV.Width - 320 Then
                LV.ColumnHeaders(1).Width = LV.Width - 320
            End If
        End If
    End If
    LockWindowUpdate 0&
    
End Sub


Pour le 80 il s'agit des bordures et pour le 320 de la largeur du scrollbar. enfin voilà maintent cela doit prendre la police en compte!!!

>> SEBMAFATE
je comprends pas trop ce que tu proposes....en effet , LV.ColumnHeaders(1).Width = -2 génère une erreur donc peut préciser ton idée STP...

bon dev et @+

Commentaire de sebmafate le 02/09/2005 21:49:33 administrateur CS

c'est moi qui ai mal lu... en .NET -2 permet d'ajuster la taille de la colonne au plus grand contenu (header ou cellule)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Ajouté un ListBox dans un ListView [ par Creat ] Bonjour à tous,J'aimerais savoir comment faire pour ajouté un ListBox dans une colonne d'un ListView en VB.NetJ'ai 4 colonnes et j'aimerais que la col Détecter la présence de scrollbar dans un lisview [ par bioman2 ] Bonjour à tous...Mon problème est le suivant :J'ai un listview à une colonne. Je voudrais que la taille de la colonne soit celle du listview quand il Alignement d'une ListBox multicolonne en VB Excel 97 [ par Philonimbus ] Bonjour, est-il possible de changer l'alignement de chaque colonne d'une listbox multicolonne. Par exemple : aligner la première colonne à gauche et l Figer la première colonne dans un listview [ par jl2050 ] Bonjour,Je cherche le moyen de figer la première colonne d'une listview pour que lorsqu'on scroll horizontalement, on puisse voir l'information de cet ListBox/ListView sans scrollbar [ par salazar ] Comment supprimer la scrollbar verticale d'un listbox (à 2 colonnes) ?Existe t'il une API ?Existe t'il une astuce ?Merci. comment modifier un listview [ par RMOINAS ] sltVoilà j'ai essayé de modifier la ligne d'un listview par exemple :le liestview a trois colonne le première colonne la vitesse la deuxième le temps Listview VB [ par mjailly ] Voila j'ai une listview avec plusieurs colonnes et j'aimerai avoir une option dans le style de l'explorateur windows (quand on clique droit sur une en colonnes avec listview [ par Waldo2188 ] BonjourJe souhaiterai mettre différente colonne dans une listview(Nom, prenom, datenais...)Je crois savoir comment créer les colonne mais je ne sais p cacher colonne listview [ par musicmandj5 ] Bonjour, jechercher comment cacher une colonne d'une listview....Merci d'avanceBenoit listview et icons [ par odan71 ] slt à tous, voila mon pb: dans une listview, je cherche à mettre un icone dans une colonne (autre que la première) en gardant la propriété view à ivwr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,557 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales