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

Composants VCL Delphi Discussion :

[Debutant]StringGrid - Adaptation Cellulle et Taille Texte


Sujet :

Composants VCL Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut [Debutant]StringGrid - Adaptation Cellulle et Taille Texte
    Voilà j'aimerais que celon le texte que j'ai la cellulle s'adapte à la longueur du texte!Merci!

  2. #2
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut
    Tu as la réponse ici :
    http://www.developpez.net/forums/viewtopic.php?t=428701

    Le deuxième post.

  3. #3
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut
    Rectification:
    Il n'y a pas de propriétées pour accéder à la largeur d'une colonne. J'ai essayé avec DefaultColWitdh sans succès.

    Je crainds qu'il ne faille passer par un owner draw! Pfffffffffff

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    Mdr Merci mais heu ca m'aide pas beaucoup vu que j'y connais rien dans ce domaine là!c'est quoi ca owner draw?

  5. #5
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut
    Excuse, je me suis trompé.
    Tu peux utiliser DefaultColWiadth si tu as autoriser le resize de colonne (propriété Options->goColSizing à True).

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DefaultColWidth := 100;
    Cependant toutes les cellules ont la même taille.
    Le onwerDraw: Il s'agit d'écrire sont propre gestionnaire de dessin de la grille, ce qui n'est pas évident.

    Bon, je cherche encore pour le resize individuel l

    J'ai trouvé: La propriété ColWidths[Indice].
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ColWidths[2] := 100;
    Change la largeur de la 3 ème colonne à la valeur 100 pixels

  6. #6
    bjl
    bjl est déconnecté
    Membre averti Avatar de bjl
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    263
    Détails du profil
    Informations personnelles :
    Localisation : Brésil

    Informations forums :
    Inscription : Décembre 2002
    Messages : 263
    Points : 338
    Points
    338
    Par défaut
    la propriété pour accèder à la largeur d'une colonne est ColWidths[index] (elle est public).

    je ne crois pas qu'il y est aownerdraw sur une stringgrid. il y a bien OndrawCell amis çà concer uniquement la cellule défine par Acol et Arow.


    aownerDraw est une propriété de certains controles (combobox par exemple) ou on dessine soit même les items.

  7. #7
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    si si, on peut tres bien modifier la taille des colonnes d'une stringgrid

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    StringGrid.ColWidths[Index de la colonne] := Valeur
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  8. #8
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut
    J'été en train d'éditer la réponse justement
    Ha quand même, il me semblait que c'était sympa les TStringGrid dans mon souvenir

    [edit]
    Bon, ça revient. Voici comment retailler la colonne courante en évitant si elle est vide de l'aplatir complètement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    With Sender As TStringGrid Do
    Begin
         ColWidths[Col] := max(DefaultColWidth,Canvas.TextWidth(Cells[Col,Row])+10);
    End;
    A vous de le mettre dans l'évènement qui vous intéresse.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    Voila mon code qui marche nikel qui s'adapte au texte le plus grand!hihi!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    for j:=0 to 8 do
              begin
              k:=0;
              for i:=0 to StringGrid1.Rowcount-1 do
                begin
                l:=Canvas.TextWidth(StringGrid1.Cells[j,i]);
                if l>k then
                  begin
                  k:=l;
                  StringGrid1.ColWidths[j]:=k+4;//je met +4 pour pas que les celulles soient trop collées au texte mais sinon ca marche!
                  end;
                end;
              end;

  10. #10
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Ce code serait mieux au niveau de ta procédure qui ajoute les éléments à ton stringrid.

    Sinon, renomme tes variables, j'ose même pas imaginer la tête du gars qui passera derriere toi pour débugger ou modifier le programme. ^^
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    Au niveau de ma procédure?comment ca?lol ben celui qui prendras derrière se démerdera lol.tfacon j'ai mis une tonne de commentaire sur mon code donc bon si il comprends pas c'est qu'il est un peu bête lol!

  12. #12
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Celle qui te permet de remplir ta stringgrid, ca évitera de scanner la stringgrid après l'avoir remplie.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 177
    Points : 74
    Points
    74
    Par défaut
    T'inquiète c'est ce que j'ai fait!je montre toujours que le code qui m'interesse car sinon y a pas que ca comme code dans la procédure et pour l'autre forum que j'ai fait j'arrive pas à instlaler Jedi VCL

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

Discussions similaires

  1. [WD12] Adaptation taille texte automatique
    Par perrine1985 dans le forum WinDev
    Réponses: 7
    Dernier message: 10/12/2010, 11h34
  2. DEBUTANT EXCEL transformer cellule texte en nombre décimal
    Par niepoc dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/09/2010, 17h12
  3. [XL-2007] Taille texte et cellule changés à l'aperçu
    Par Extraneen dans le forum Excel
    Réponses: 5
    Dernier message: 07/09/2009, 18h57
  4. adapater la taille de la cellule(Excel) au texte
    Par guestCam dans le forum VBA Access
    Réponses: 3
    Dernier message: 06/08/2008, 14h28
  5. [JLabel] adapter taille texte
    Par Katachana dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 22/11/2007, 09h23

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