IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

MshFlexGrid (Agrandissement des colonnes)


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 11
    Points : 16
    Points
    16
    Par défaut MshFlexGrid (Agrandissement des colonnes)
    Bonjour,

    Il est possible d'agrandir la taille d'une colonne en déplaçant la souris sur l'entete d'un MshFlexGrid avec le bouton gauche enfonçé.

    QUESTION: J'ai besoin de saisir l'action d'agrandissement de colonnes au moment ou il se produit. Comme il n'existe pas d'événement, je souhaiterais savoir s'il existe une technique pour solutionner mon besoin.

    Par avance merci.

  2. #2
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Points : 1 875
    Points
    1 875
    Par défaut
    Bonjour,

    J'ai peur de n'avoir pas tres bien compris mais j'utilise ceci pour resize les colonnes de ma flexgrid :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    Private Type Size
            cx As Long
            cy As Long
    End Type
     
    Private Declare Function GetTextExtentPoint32 Lib "gdi32" Alias "GetTextExtentPoint32A" _
                                                  (ByVal hdc As Long, ByVal lpsz As String, _
                                                  ByVal cbString As Long, lpSize As Size) As Long
     
    Public Sub ResizeColumns(hdc As Long, flexgrid As MSHFlexGrid)
     
        Dim idxRow As Long, idxCol As Long, lngMax As Long
        Dim texte As String, taille As Size
     
        With flexgrid
            'Parcoure les colonnes
            For idxCol = 0 To .Cols - 1
                lngMax = 0
                'Parcoure les lignes
                For idxRow = 0 To .Rows - 1
                    texte = .TextMatrix(idxRow, idxCol)
                    'met la taille du texte de la cellule en pixels dans taille
                    'GetTextExtentPoint32 hdc, texte, Len(texte), taille
                    GetTextExtentPoint32 hdc, 35, 35, taille
                    'lngMax est la longueur du texte le plus long dans cette colonne
                    If taille.cx > lngMax Then lngMax = taille.cx
                Next
                'met lngMax en twips en ajoutant 10 pixels pour les marges
                If lngMax > 0 Then lngMax = (lngMax + 10) * Screen.TwipsPerPixelX
                'Applique la largeur de colonne si besoin
                If lngMax > .ColWidth(idxCol) Then .ColWidth(idxCol) = lngMax
            Next
        End With
     
    End Sub

Discussions similaires

  1. [Jexcel] Agrandissement auto des colonnes
    Par vallica dans le forum JDBC
    Réponses: 4
    Dernier message: 24/05/2011, 14h40
  2. [JTable] les noms des colonnes de s'affichent pas
    Par macben dans le forum Composants
    Réponses: 6
    Dernier message: 25/04/2008, 11h03
  3. DBGrid : enregister la position des colonnes
    Par Harry dans le forum Bases de données
    Réponses: 8
    Dernier message: 21/07/2004, 21h27
  4. [VB6] Datagrid afficher ou cacher des colonnes par code
    Par soazig dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 06/02/2003, 17h19
  5. Dimensions des colonnes d'un TDBGrid
    Par osmose22 dans le forum C++Builder
    Réponses: 4
    Dernier message: 11/12/2002, 11h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo