Changer une cellule mobile en cellule fixe

vdl_jeremie Messages postés 5 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 15 mai 2004 - 7 mai 2004 à 22:41
vdl_jeremie Messages postés 5 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 15 mai 2004 - 15 mai 2004 à 10:03
Bonjour,

existe-t-il un moyen de changer une cellule mobile en cellule fixe dans un stringgrid?

merci d'avance pour vos réponses...

2 réponses

DRJEROME Messages postés 436 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 5 février 2015
15 mai 2004 à 09:12
Exemple avec les cellules (1,1) et (2,3) fixes :

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if ((ACol=1) and (aRow=1)) or ((ACol=2) and (aRow=3)) then
  begin
    StringGrid1.Canvas.Brush.Color := $00B56AFF;//on peut mettre gris si on veut le type par défaut de couleur de fond
    StringGrid1.Canvas.FillRect(rect);
  end;

end;

procedure TForm1.StringGrid1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
     StringGrid1.Options:=StringGrid1.Options+[goEditing];
    if ((StringGrid1.Col=1) and (STringGrid1.Row=1))or ((StringGrid1.Col=2) and (STringGrid1.Row=3)) then StringGrid1.Options:=StringGrid1.Options-[goEditing];
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
     StringGrid1.Options:=StringGrid1.Options-[goEditing];
end;


maintenant si ton stringgrid est en mode GoEditing "false" c'est plus simple :

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  if ((ACol=1) and (aRow=1)) or ((ACol=2) and (aRow=3)) then
  begin
    StringGrid1.Canvas.Brush.Color := $00B56AFF;//on peut mettre gris si on veut le type par défaut de couleur de fond
    StringGrid1.Canvas.FillRect(rect);
  end;
end;


Je suppose que c'est pour créer ton labyrinthe

JROD DorotheeJ
0
vdl_jeremie Messages postés 5 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 15 mai 2004
15 mai 2004 à 10:03
oui exactement, c pour créer mon labyrinthe ;-) mais finalement j'ai opté pour une autre solution.Ce que je souhaitais c'étais garder la couleur d'une cellule quelque soit le focus de la form. Et par un tour de passe-passe j'ai réussi. Je mettrai mon source sur delphifr dès que j'aurai fini car il n'y a rien sur ce que je cherchais dans les sources lol
Je te remercie pour ta réponse.
0
Rejoignez-nous