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

Langage Delphi Discussion :

Problème avec ScrollBar d'une StringGrid


Sujet :

Langage Delphi

  1. #1
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut Problème avec ScrollBar d'une StringGrid
    Bonjour,

    J'ai une fiche qui contient une StringGrid qui à son tour contient 220 lignes dont seules 20 sont visibles.
    Sa propriété ScrollBars en ssVertical ... mais quand j'essaye de scroller aucune ligne ne se déplace verticalement.
    C'est probablement dû au fait que c'est la première fois que j'utilise une StringGrid : lol
    Quelqu'un voudrait-il ou elle me sortir de cet embarras.

    Par avance : Merci.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  2. #2
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 496
    Points : 2 762
    Points
    2 762
    Billets dans le blog
    10
    Par défaut
    J'ai fait le test en XE10 sous VCL
    Composant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    object StringGrid1: TStringGrid
      Left = 128
      Top = 128
      Width = 409
      Height = 185
      RowCount = 200
      ScrollBars = ssVertical
      TabOrder = 0
    end
    avec le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TForm1.FormActivate(Sender: TObject);
    var
      i1 : integer ;
    begin
      for i1 := 1 to 200 do
        StringGrid1.Cells[1,i1] := i1.ToString ;
    end;
    Le recalcul de la position se fait au mouseup sur le scrollbar
    A noter des anomalies sous FMX lorsque le stringGrid est placé sur sur un objet 3D

    Je suis sous Delphi XE10 2

  3. #3
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 691
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 691
    Points : 13 121
    Points
    13 121
    Par défaut
    Ajoute goThumbTracking aux options.

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Re-bonjour,

    Merci ALWEBER, mais :
    - votre 1er code se trouve chez moi remplacé par la déclaration des propriétés du StringGrid dans l'inspecteur d'objets,
    - et votre 2ième code consiste à remplir les cases de la colonne 1 avec une numérotation et ça ne me pose aucun problème.
    Par contre comme vous dites "Le recalcul de la position se fait au mouseup sur le scrollbar" et ça je le découvre sans savoir calculer cette position.
    En plus dans je n'ai pas trouvé l'évènement onMouseUp du Scrollbar vu qu'il s'agit d'une simple propriété de ma StringGrid.
    Mais merci quand même.

    A+
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut Retouche erreur de frappe
    Binjour Andnotor,

    "Ajoute goThumbTracking aux options". C'était fait :

    Nom : cop-SG.jpg
Affichages : 529
Taille : 38,7 Ko

    Mais cela ne change rien.

    Merci quand même. A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  6. #6
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 691
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 691
    Points : 13 121
    Points
    13 121
    Par défaut
    Un p'tit essai et... il n'y a que cette option à activer

    Un dessin personnalisé avec l'utilisation d'un mauvais indice de ligne peut-être ?

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    R-bonjour AndnotOr,

    "Un p'tit essai et... il n'y a que cette option à activer" : OK c'est fait, mais rien ne bouge.

    "Un dessin personnalisé avec l'utilisation d'un mauvais indice de ligne peut-être ?" : Il n'y a aucun dessin j'utilise le StringGrid dans son état standard à l'état brut sans fioritures.

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  8. #8
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 041
    Points : 40 950
    Points
    40 950
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    j'ai un problème avec cette discussion à savoir de quelle version de Delphi il s'agit et aussi de quel framework ? (je penche vers VCL)
    De tout les stringgrids que j'ai pu créer depuis Delphi 3 aucun ne m'a jamais poser ce genre de soucis (même, depuis peu, ceux avec livebindings)

    Si on pouvait avoir ces renseignements (et même un simple zip joint qui présente ce problème)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  9. #9
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 496
    Points : 2 762
    Points
    2 762
    Billets dans le blog
    10
    Par défaut
    Citation Envoyé par Gilbert Geyer Voir le message
    Re-bonjour,
    Merci ALWEBER, mais :
    - votre 1er code se trouve chez moi remplacé par la déclaration des propriétés du StringGrid dans l'inspecteur d'objets,
    - et votre 2ième code consiste à remplir les cases de la colonne 1 avec une numérotation et ça ne me pose aucun problème.
    Par contre comme vous dites "Le recalcul de la position se fait au mouseup sur le scrollbar" et ça je le découvre sans savoir calculer cette position.
    En plus dans je n'ai pas trouvé l'évènement onMouseUp du Scrollbar vu qu'il s'agit d'une simple propriété de ma StringGrid.
    Mais merci quand même.
    A+
    Mon objectif en répondant à ce post était d'isoler le problème par un petit programme exemple
    Si tu reproduit l'exemple que je t'ai proposé sur un nouveau programme VCL et que tu ajoutes goThumbTracking à true (remarque efficace de Andnotor) tout semble fonctionner parfaitement.
    Donc peut être que ton problème est ailleurs.
    Je rappelle que je suis en Tokyo 10.2

  10. #10
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Bonjour SergioMaster,

    j'ai un problème avec cette discussion à savoir de quelle version de Delphi il s'agit et aussi de quel framework ? (je penche vers VCL)
    De tout les stringgrids que j'ai pu créer depuis Delphi 3 aucun ne m'a jamais poser ce genre de soucis (même, depuis peu, ceux avec livebindings)

    Si on pouvait avoir ces renseignements (et même un simple zip joint qui présente ce problème)
    J'utilise Delphi 7 (version standard téléchargée ici) sous Windows 7 Edition Familiale Premium.
    Pour le reste (framework ?) je vous joins simplement un zip qui contient uniquement la partie du code qui au lancement charge le fichier _Coll_Ingredients.dat de 221 + 1 lignes dans la StringGrid.
    J'espère que ma réponse vous conviendra.

    A+.
    Fichiers attachés Fichiers attachés
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  11. #11
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Bonjour ALWEBER,

    Mon objectif en répondant à ce post était d'isoler le problème par un petit programme exemple
    Si tu reproduit l'exemple que je t'ai proposé sur un nouveau programme VCL et que tu ajoutes goThumbTracking à true (remarque efficace de Andnotor) tout semble fonctionner parfaitement.
    Donc peut être que ton problème est ailleurs.
    Je rappelle que je suis en Tokyo 10.2
    OK, mais je n'utilise pas Tokyo ... mon problème vient certainement d'ailleurs car l'option goThumbTracking de ma StringGrid SG1 est à true.(voir le zip joint à mon message de 11h30 en réponse à SergioMaster)

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  12. #12
    Membre éprouvé
    Avatar de Cirec
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    467
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 467
    Points : 1 072
    Points
    1 072
    Par défaut
    Bonjour Gilbert,

    ton soucis vient de la ligne 80 Height := RowCount * (DefaultRowHeight + GriDLineWidth);si tu la mets en commentaire ça fonctionne

    Cordialement,

    @+

  13. #13
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Bonjour Cirec,

    ton soucis vient de la ligne 80 Height := RowCount * (DefaultRowHeight + GriDLineWidth);si tu la mets en commentaire ça fonctionne
    Merci mille fois Cirec J'avais cherché partout et je ne m'attendais pas à ce que une telle ligne pouvait empêcher le schmillblick de fonctionner !

    A+.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de performance avec remplissages d'une StringGrid ?
    Par Night_Wolf1619 dans le forum Débuter
    Réponses: 17
    Dernier message: 06/05/2013, 16h09
  2. FAQ : problème avec création d'une requete en VBA
    Par Oluha dans le forum VBA Access
    Réponses: 14
    Dernier message: 14/02/2006, 12h05
  3. Problème avec RegEx et une Query string
    Par Erakis dans le forum Langage
    Réponses: 6
    Dernier message: 08/11/2005, 15h48
  4. Problème avec affichage d'une table modifiée
    Par auriolbeach dans le forum Access
    Réponses: 6
    Dernier message: 31/10/2005, 15h45
  5. Problème avec TNMSMTP dans une boucle.
    Par Orgied dans le forum Web & réseau
    Réponses: 3
    Dernier message: 07/04/2004, 10h19

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