Resizer les colonnes er les lignes d'un stringGrid

codial Messages postés 265 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 5 mai 2015 - 26 sept. 2009 à 22:39
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 30 sept. 2009 à 21:14
Bonjour,

tout est dans la question.
J'ai un StrinGrid alClient sur un panel. Quelqu'un peut il m'expliquer comment 'resizer' les colonnes et les ligne quand quand on maximize le formulaire (donc le panel)?

D'avance merci

codial

6 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
27 sept. 2009 à 22:22
bonjour,

tu devras utiliser la propriété :
property ColWidths[Index: Longint]: Integer;

permettant de faire varier la largeur d'une colonne nommée par son index.

La taille devra être calculée en fonction des dimensions du Panel (puisque le mode est alClient)

et se servir de l'évènement OnResize..

bon coding

cantador
0
codial Messages postés 265 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 5 mai 2015 1
28 sept. 2009 à 18:17
Bonsoir cantador,

merci pour ta réponse, c'est effectivement par
ColWidths[Index: Longint]: Integer;

qu'il faut passer, mais je n'y suis toujours pas arrivé .
Sans abuser aurais tu un bout de code pour commencer???

D'avance merci, codial
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
29 sept. 2009 à 22:16
rahhhh, ça devient dur le forum...

ben tu fais une p'tit boucle du genre :

procedure ChangeColWith(Largeur);
var
i : integer;
begin
with StringGrid1 do
 begin
 for i:= 0 to Colcount - 1 do
  Colwidths[i]:= Largeur;
 end;
end;

procedure TForm1.Panel1Resize(Sender: TObject);
begin
// là il faut trouver une formule qui donne la largeur d'une colonne en fonction de la largeur du panel à l'écran
Largeur := 
ChangeColWith(Largeur);
end;



Je t'en laisse un peu.
tu ne m'en voudras pas..

cantador
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
29 sept. 2009 à 22:17
aie..

procedure changecolwith(largeur : integer);

cantador
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
codial Messages postés 265 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 5 mai 2015 1
30 sept. 2009 à 18:42
Merci beaucoup cantador pour ta réponse et ta function.
Je vais tester et ....pour le reste je vais me débrouiller.

cordialement, codial
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
30 sept. 2009 à 21:14
[i]
pour le reste je vais me débrouiller./i

bravo et tiens nous au courant si ça marche.

cantador
0
Rejoignez-nous