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 :

scrollbar sur MSFlexGrid


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 25
    Par défaut scrollbar sur MSFlexGrid
    Bonjour à tous
    mon problème est le suivant : sur une form je dispose d'un MSFlexGrid qui contient 256 colonnes. Cela dépasse évidemment les limites de la form ; le soucis vient du scrollbar dont seule la flèche de gauche est visible, celle de droite se trouvant à pétaouchnock sur la droite. De ce fait, le scrolling jusqu'à la colonne 256 est impossible. Y a t-il un moyen pour faire en sorte que le scrollbar soit affiché complètement sur la partie visible de la grille, c'est à dire dans les limites de la form ?
    Merci d'avance à quiconque a une bonne solution ...

    Pat77176

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Suite au chargement complet des données dans ton MSFlexGrid
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MSFlexGrid.Width = Me.ScaleWidth
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 25
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Suite au chargement complet des données dans ton MSFlexGrid
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MSFlexGrid.Width = Me.ScaleWidth

    Merci de cette réponse rapide ... qu'est supposé représenter "Me" dans ce cas ? J'ai un message "Utilisation incorrecte de Me" en essayant cette méthode ...

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Curieux, je n'avais pas essayé le code proposé, je viens de le faire et je n'ai pas d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Command1_Click()
    MSFlexGrid1.Left = 15
    MSFlexGrid1.Width = Me.ScaleWidth - 15
    'ou
    'MSFlexGrid1.Width = Form1.ScaleWidth - 15
    End Sub
    Comme tu l'auras compris Me pour VB = nom du Form.
    Tu developpes bien en VB 6 ou anterieur ?
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 25
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Curieux, je n'avais pas essayé le code proposé, je viens de le faire et je n'ai pas d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Command1_Click()
    MSFlexGrid1.Left = 15
    MSFlexGrid1.Width = Me.ScaleWidth - 15
    'ou
    'MSFlexGrid1.Width = Form1.ScaleWidth - 15
    End Sub
    Comme tu l'auras compris Me pour VB = nom du Form.
    Tu developpes bien en VB 6 ou anterieur ?
    Oui c'est en VB 6 ENtreprise.
    Bon, mon problème est résolu. J'avais bien compris que "Me" désignait la form" mais il n'empêche que j'avais cette erreur déjà citée. J'a irésolu le PB en faisant directement référence à la Form :
    'ne pas modifier ce qui suit : ça sert à faire voir la flèche droite de la scrollbar
    FormRéseau.GridTempératures.Width = FormRéseau.ScaleWidth - 1200

    Le -1200 est une extension empirique de ma part ... si je ne le mets pas, je ne vois que les <uelques premiers pixels de la flèche droite ...

    En tout cas, merci de ta contribution puisqu'elle m'a mise sur la voir ...

    Cela étant, et c'est toujours la même critique que l'on peut faire aux produits microsoft et leur manque de documentation pédagogique : par quel raisonnement miracle peut-on imaginer devoir faire appel à l'échelle de la Form pour faire apparaître complètement le composdant d'un contrôle sur cette form ?

    Je profite de ta connaissance du MSFlexGrid pour te poser une autre question :
    j'aimerai pouvoir faire apparaître dans la ligne de titres de colonnes une nom sur 2 lignes ... D'une part, je ne suis pas sûr qu'un chr(13) intercallé dans le texte du titre produise une 2ème ligne (mais pourquoi pas puisque ça marche en Excel, par exemple) mais c'est surtout que je n'ai pas trouvé la propriété qui permette d'augmenter la hauteur d'une rangée de cellules ...
    Si ça te parle !!!

    Pat77176

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Form_Load()
    'faire reference à Library SysInfoLib, Contrôle Microsoft SysInfo 6.0 (SYSINFO.OCX)
    'Attention, .ScrollBarSize est exprimé en Twips
    MSFlexGrid1.Left = 15
    MSFlexGrid1.Width = Me.Width - (MSFlexGrid1.Left * 2) - SysInfo1.ScrollBarSize
     
     
    'sur plusieurs lignes
    MSFlexGrid1.WordWrap = True '<=================
    MSFlexGrid1.RowHeight(0) = 600
    MSFlexGrid1.TextMatrix(0, 1) = "essais de" & vbCrLf & "plusieurs lignes"
    End Sub
    Si cela t'es possible, change de Grid, utilise MSHFlexGrid MSHierarchicalFlexGridLib, Microsoft Hierarchical FlexGrid Control 6.0, il offre beaucoup plus de possibilités.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

Discussions similaires

  1. [c#] Scrollbar sur une pictureBox
    Par Ecco59 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 13/07/2006, 16h30
  2. Scrollbar sur popup
    Par Him dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 26/06/2006, 14h40
  3. scrollbar sur cellule de tableau
    Par flydragon dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/05/2006, 11h05
  4. ScrollBar sur un TPageControl.TTabSheet
    Par Dionyzos dans le forum Composants VCL
    Réponses: 2
    Dernier message: 08/07/2004, 17h10
  5. Réponses: 5
    Dernier message: 17/06/2004, 23h38

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