sidena
Messages postés8Date d'inscriptionjeudi 3 juin 2004StatutMembreDernière intervention19 février 2006
-
19 févr. 2006 à 14:44
Cirec
Messages postés3833Date d'inscriptionvendredi 23 juillet 2004StatutModérateurDernière intervention18 septembre 2022
-
19 févr. 2006 à 18:51
J'ai deux questions sur l'emploi des stringgrids :
1 - Je voudrais capter un évènement chaque fois que je clique sur une case d'une sringgrid.
J'ai essayé les evenements onclick, onmousedown, onchange, etc... mais ils ont tous le même problème : ca ne marche que si on a changé de case. Sinon, le premier click est capté, mais ensuite plus rien.
Par exemple les lignes suivantes, qui devraient cocher/decocher la case x, y à chaque click :
if stringgrid1.Cells [x, y] := 'x' then
stringgrid1.Cells [x, y] := ''
else
stringgrid1.Cells [x, y] := 'x'' ;
2 - Je voudrais capter un evenement en quittant une case d'une stringgrid, quelle que soit la façon dont je quitte (soit en cliquant ailleurs, soit en changeant de case par une flèche ou par la touche tab) afin de controler ce qu'il y a dans la case que je quitte. La seule manière que j'ai trouvée est de mettre un timer... N'y a-t-il pas mieux ?
sidena
Messages postés8Date d'inscriptionjeudi 3 juin 2004StatutMembreDernière intervention19 février 2006 19 févr. 2006 à 18:34
Merci à Cirec de cette réponse.
Ca répond parfaitement à mon probleme.
Il y a un petit detail a ajouter : il faut associer le "ondoubleclick" à la meme procedure car si on fait deux clicks assez rapprochés, le système interprète ça comme un double click et le second n'est donc pas pris en compte par le "ondrawcell".
Moyennant cela, la réponse est parfaite et la case change d'état systématiquement.