Voilà j'aimerais que celon le texte que j'ai la cellulle s'adapte à la longueur du texte!Merci!
Voilà j'aimerais que celon le texte que j'ai la cellulle s'adapte à la longueur du texte!Merci!
Tu as la réponse ici :
http://www.developpez.net/forums/viewtopic.php?t=428701
Le deuxième post.
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
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?
Excuse, je me suis trompé.
Tu peux utiliser DefaultColWiadth si tu as autoriser le resize de colonne (propriété Options->goColSizing à True).
Par exemple :
Cependant toutes les cellules ont la même taille.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2DefaultColWidth := 100;
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].
Change la largeur de la 3 ème colonne à la valeur 100 pixels
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ColWidths[2] := 100;
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.
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 :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
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.
A vous de le mettre dans l'évènement qui vous intéresse.
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;
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;
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 :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
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!
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 :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager