Les Allergies
Alimentaires

VB6 - Ajouter un scroll horizontal dans ListBox



En VB6 les zones de listes n'implémente pas un Scroll horizontal, assez gênant si la longueur des textes sont plus long que la largeur de la listBox.
Ce qui oblige à élargir la listBox dans des proportions qui ne sont pas nécessairement souhaitées pour le design.
Ces quelque lignes de code génère un Scroll horizontal dans la listBox.
  • Ouvrir un nouveau projet.
  • Coller le code ci-dessous dans le module de la forme.

Option Explicit 

Private Const LB_SETHORIZONTALEXTENT = &H194 
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 Sub Form_Load() 
Dim Lg As Integer, L As Integer, Va As String, i As Integer 
    'Remplir la list avec des lignes longues pour la démo 
    For i = 0 To 20 
        Va = Va & "Test" & i & " " 
        List1.AddItem Va 
        L = TextWidth(List1.List(i)) 
        If Lg < TextWidth(List1.List(i)) Then Lg = L 
    Next 
    'Adapter les valeurs du scroll horizontal. 
    If Lg > List1.Width Then 
        HorizontalSrcoll List1, Lg 
    End If 
End Sub 

'Adapter les valeurs du scroll horizontal. 
Private Sub HorizontalSrcoll(Lt As Control, Lg As Integer) 
Dim Ret As Long 
Dim ScrollMax As Long 
  ScrollMax = (Lg / Screen.TwipsPerPixelX) + 6 
  Ret = SendMessage(Lt.hwnd, LB_SETHORIZONTALEXTENT, ScrollMax, 0&) 
End Sub 
  • Télécharger le projet.

Serveur 1 : ScrollHzList.zip
Serveur réserve : ScrollHzList.zip
Publié par lermite222 - Dernière mise à jour le 9 mars 2011 à 10:16 par Jeff
Ce document intitulé « VB6 - Ajouter un scroll horizontal dans ListBox » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Suggestions
  •  VB6 - Ajouter un scroll horizontal dans ListBox
  •  Empecher le "scroll" horizontal ? (Résolu) » Meilleure réponse: “il n'y a pas à s'inquieter” sauf pour la quantité d'octets que ça représente et qu'il faut charger rien que pour le fond. “empecher de faire défiler vers la droite” Supprime background-attachment: fixed;et le fond bougera avec.
  •  Télécharger Visual Domotique » Télécharger : Visual Domotique est un programme permettant de piloter des composants électroniques via son ordinateur. Vous n'avez besoin d'aucunes connaissances de programmation. Il vous suffit de dessiner le schéma électrique de l'installation à piloter. La...
  •  Ajouter item dans ListBox [Visual Basic] (Résolu) » Meilleure réponse: merci le père ça marche tro bien!
  •  Excel et barre d'incertitude (Résolu) » Meilleure réponse: C'est bon j'ai trouvé. Il suffisait d'aller dans le menu "outil de graphique" puis "analyse" puis enfin "barre d'erreur"
  •  CSS - Probleme overflow:auto (Résolu) » Meilleure réponse: 'width' d'après les spécifications, définit le contenu de la boîte, hors bordure et marge interne (padding) - ce tracé conditionnant les dimensions de tous ses enfants, rendre un truc aussi aléatoire que la largeur d'une barre de défile
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
VB6 - Gérer un fichier INI + Divers fonctions
[VB] Remplir un TreeView avec les disques du PC