RetourForum Delphi
Nouveau compte - Se connecter - Perdu votre mot de passe?Recherche: Utilisateur - Message

Index > Forum général > Bloquer des colonnes d'un StringGrid Delphi7Nouveau post - Répondre
Magdani
visiteur
Question Bloquer des colonnes d'un StringGrid Delphi7 message: éditerle 12/12/12 à 12h58

Bonjour,

Avec la propriété goColSizing d'un StringGrid, les colonnes mobiles peuvent être redimensionnées individuellement.
Peut-on ne redimensionner que certaines colonnes ? J'ai un StringGrid de 7 colonnes et je voudrais pouvoir redimensionner
les 4 premières et bloquer les 3 dernières.

Si vous avez une solution, merci d'avance

papyvore
visiteur
Message Re: Bloquer des colonnes d'un StringGrid Delphi7 message: éditerle 12/12/12 à 17h00

salut


 

code


var ColWidths: Array of integer;


dans le oncreate dela  forme
 

code


SetLength( MemoColWidths, StringGrid1.ColCount);
  for i:=0 to StringGrid1.ColCount-1 do
    ColWidths[i]:= StringGrid1.ColWidths[i];



et dans le onDrawCell
 

code



  if StringGrid1.col = 1 then
    StringGrid1.ColWidths[1] := ColWidths[1]  ;


bon c'est pas très pro d'accord mais la col n'est pas redimensionnée.

Magdani
visiteur
Question Re: Bloquer des colonnes d'un StringGrid Delphi7 message: éditerle 12/12/12 à 18h14

Merci Papyvore. Mais problème
Ci-dessous mon code qui fait une erreur d'exception au démarrage sur la ligne ColWidths[i]:= StringGrid1.ColWidths[i]

var ColWidths: Array of integer;

procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
    MemoColWidths : string;
begin
SetLength(MemoColWidths, StringGrid1.ColCount);
  for i:=0 to StringGrid1.ColCount-1 do
    ColWidths[i]:= StringGrid1.ColWidths[i];
end;

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
if StringGrid1.col = 1 then
    StringGrid1.ColWidths[1] := ColWidths[1];
end;

Magdani
visiteur
Question Re: Bloquer des colonnes d'un StringGrid Delphi7 message: éditerle 12/12/12 à 18h14

Merci Papyvore. Mais problème
Ci-dessous mon code qui fait une erreur d'exception au démarrage sur la ligne ColWidths[i]:= StringGrid1.ColWidths[i]

var ColWidths: Array of integer;

procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
    MemoColWidths : string;
begin
SetLength(MemoColWidths, StringGrid1.ColCount);
  for i:=0 to StringGrid1.ColCount-1 do
    ColWidths[i]:= StringGrid1.ColWidths[i];
end;

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
if StringGrid1.col = 1 then
    StringGrid1.ColWidths[1] := ColWidths[1];
end;

papyvore
visiteur
Message Re: Bloquer des colonnes d'un StringGrid Delphi7 message: éditerle 12/12/12 à 18h55

oui c'est de ma faute
remplace
SetLength(MemoColWidths, StringGrid1.ColCount);
par
 

code



SetLength(ColWidths, StringGrid1.ColCount);

et supprime
var i : integer;
    MemoColWidths : string;

Magdani
visiteur
Content Re: Bloquer des colonnes d'un StringGrid Delphi7 message: éditerle 12/12/12 à 20h25

Ca marche. Merci et bonne soirée

Index > Forum général > Bloquer des colonnes d'un StringGrid Delphi7Nouveau post - Répondre
 page 1 sur 1