Stringgrid

Résolu
cs_Vash91 Messages postés 6 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 9 août 2004 - 9 août 2004 à 12:30
cs_Vash91 Messages postés 6 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 9 août 2004 - 9 août 2004 à 15:05
Salut à tous,
voilà j'aimerais savoir comment récupérer le fait de clicker sur une cellule d'une fixedrows.
merci d'avance

7 réponses

Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
9 août 2004 à 15:00
Oui avec la propriété Selection

StringGrid.Selection.Top = 1er élément sélectionné.
StringGrid.Selection.Bottom = dernier élément sélectionné.
StringGrid.Selection.Left= 1ere colonne sélectionné.
StringGrid.Selection.Right = derniere colonne sélectionné.


Olivier.
3
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
9 août 2004 à 12:42
Bonjour,

Utilise la function MouseToCell du StringGrid dans l'évènement OnMouseDown.
Tu pourras récupérer la cellule sur laquelle tu as clické.

Par contre tu ne pourras pas utilisé cette méthode si tu veux gérer le double-click sur une cellule.

Bonne prog,

Olivier.
0
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
9 août 2004 à 12:49
F1
Utilise l'evenement OnClick de la StringGrid :
procedure TForm1.StringGrid1Click(Sender: TObject);
var
  ligne, colonne : Integer;
begin
Ligne:=StringGrid1.Row;
colonne:=StringGrid1.Col;
showmessage('Ligne n° ' + inttostr(Ligne) + ' sur ' + inttostr(StringGrid1.RowCount) +
 ', colonne n° ' + inttostr(colonne) + ' sur ' + inttostr(StringGrid1.ColCount));
end;


FixeDrows c'est juste une propriete ( enfin je crois )

Ps aux webmasters : on ne peut pas mettre de code dans une question.

Si tu ne te plantes pas ......
tu ne poussera jamais
0
cs_Vash91 Messages postés 6 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 9 août 2004
9 août 2004 à 13:01
Merci les gars mais j'ai déjà testé et ça marche pas on dirait que les cellules de la ligne fixée ne sont pas reconnue. Exemple en clickant sur une de ces cellules le programme n'entre pas dans l'évènement TForm1.StringGrid1Click(Sender: TObject)
0

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

Posez votre question
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
9 août 2004 à 13:33
Ce que je t'explique au-dessus fonctionne pour détecter un click dans une cellule fixedrows.

procedure TForm1.StringGridMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  ligne, colonne : Integer;
begin
  StringGrid.MouseToCell(X,Y,colonne,ligne);
  showmessage('Ligne n° ' + inttostr(Ligne) + ' sur ' + inttostr(StringGrid.RowCount) +
', colonne n° ' + inttostr(colonne) + ' sur ' + inttostr(StringGrid.ColCount));

end;


mais si tu veux gérer les double clique la je suis d'accord ça ne marche pas ;)

Olivier
0
cs_Vash91 Messages postés 6 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 9 août 2004
9 août 2004 à 14:14
Yes c cool merci Olivier avec l'évènement StringGrid1Click ça ne marche pas mais là impec merci.
J'aurais une autre question : je met la propriété goRangeSelect à true, peut-on récupérer la valeur l'ensemble des cellules sélectionner.
Merci encore
0
cs_Vash91 Messages postés 6 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 9 août 2004
9 août 2004 à 15:05
merci beaucoup tes le meilleur ;)
0
Rejoignez-nous