Select cellule Stringgrid

Résolu
cs_plante
Messages postés
10
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
3 avril 2007
- 23 août 2004 à 10:22
Loulibier
Messages postés
309
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
24 septembre 2008
- 25 août 2004 à 14:41
Voici mon pb, l'utilisateur effectu une saisie dans la premiere colonne une fois finie il appuie sur entrer, moi je voudrais qu'une fois la touche entrer appuié que la 4iéme cellule soit cellectionné.
Merci pour votre aide !! et Merci a tout ceux qui mon déja aidé.

12 réponses

Loulibier
Messages postés
309
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
24 septembre 2008
2
23 août 2004 à 11:21
Salut,

voici un bout de code qui pourra t'aider à réaliser ce que tu veux.

var
  GRect : TGridRect;
begin
  GRect.Left := 4;       // Première colonne selectionner
  GRect.Top := 1;       // Première Ligne selectionner
  GRect.Right := 4;     // Dernière colonne selectionner
  GRect.Bottom := 1;  // Dernière Ligne selectionner

  StringGrid.Selection := GRect;


Bonne Prog,

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

Rajoute ce code à la suite du code précédent.

  StringGrid.SetFocus;
  PostMessage(StringGrid.Handle,WM_KEYDOWN,VK_F2,0);


Bonne Prog,

Olivier.
3
Loulibier
Messages postés
309
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
24 septembre 2008
2
25 août 2004 à 14:26
Salut plante,

Demande nous, tout simplement de te développer ton appli ;)
Il te suffit de chercher à améliorer le code, que je t'avais fournis, te permettant de filtrer l'appuie des touches pour les colonne supérieur à la colonne 3.

ancien code
procedure TWndMain.StringGridKeyPress(Sender: TObject; var key: Char);
begin
  if StringGrid.Selection.left > 3 then
    Key :=  #0;
end;


nouveau code
procedure TWndMain.StringGridKeyPress(Sender: TObject; var key: Char);
begin
  // Ce qui est en rouge te permet de filtrer l'appuie des touches si tu es sur une ligne infèrieur à la derniere.
  if (StringGrid.Selection.left > 3) and (StringGrid.Selection.Top < StringGrid.RowCount - 1) then
    Key : = #0;
end;


ou deuximeme solution :

StringGrid.EditorMode := False --> indique que tu ne permet pas l'édition des cellules.

procedure TWndMain.StringGridKeyPress(Sender: TObject; var key: Char);
begin
  // Ce qui est en rouge te permet de filtrer l'appuie des touches si tu es sur une ligne infèrieur à la derniere.
  if (StringGrid.Selection.left > 3) and (StringGrid.Selection.Top < StringGrid.RowCount - 1) then
    StringGrid.EditorMode := False
else
   StringGrid.EditorMode := True;
end;


Bonne Prog,

Olivier
3
cs_plante
Messages postés
10
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
3 avril 2007
1
24 août 2004 à 16:40
Je te remerci pour ton code, il marche tres bien. Il ya juste un truc, il selectionne la case mais on ne voit po kel est selectionné, le curseur n'est pas a l'interieur de la cellule, s'oré tu comment faire pour que la cellule soit selectionné et que le curseur soit a l'interieur?

Merci pour Tout.

Nicolas
2

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

Posez votre question
cs_Delphiprog
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
9 janvier 2013
31
24 août 2004 à 23:13
Petit rappel : le langage style SMS est à bannir sur ce site. (Voir charte du forum)
0
Loulibier
Messages postés
309
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
24 septembre 2008
2
24 août 2004 à 23:18
Qu'estque tu entends pas style SMS ?
0
cs_Delphiprog
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
9 janvier 2013
31
25 août 2004 à 00:40
Exemple extrait d'un post ci-dessus :
"on ne voit po kel est"
Il y a des mots qui ne sont pas dans le dictionnaire de français.
Du moins pas encore...et s'il faut décoder les messages pour comprendre ce qu'il y a dedans, je jette l'éponge.
Enfin, on a vu pire ! :-p
0
Loulibier
Messages postés
309
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
24 septembre 2008
2
25 août 2004 à 01:20
Je suis d'accord avec toi, mais plante reste tout de même compréhensible. Il n'en n'abuse pas.

Pour ce qui est de la charte du forum, son lien est mort.
Lorsque l'on clique dessus on obtient une fenêtre avec le message : Document introuvable.

Bonne soirée, enfin bonne nuit :sleepy)

Olivier.
0
cs_plante
Messages postés
10
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
3 avril 2007
1
25 août 2004 à 09:23
Merci ! ton aide est précieuse MERCI a Toi Loulibier.

Delphiprog : promis je recommencerai plus :big)
0
cs_plante
Messages postés
10
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
3 avril 2007
1
25 août 2004 à 12:12
Excuse moi de te redéranger:

au départ la stringgrid comporte 1 seul ligne, l'utilisateur rempli les 4 colonnes puis une fois la derniere rempli une deuxieme ligne ce crée ainsi de suite....., ce ke je n'arrive pas c de protégé les lignes saisie précedement par l'utilisateur, l'utilisateur ne doit pas les modifier.
La ligne créé, elle doit touche être accessible a la saisie pour l'utilisateur

Merci d'avance
0
cs_plante
Messages postés
10
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
3 avril 2007
1
25 août 2004 à 14:37
Merci olivier c gentil......... j'ai 2 livre sur delphi : Delphi 7 Studio et Delphi 7 le tout en poche, j'ai lu les deux livre : 1 000 pages au total et franchement il parle pas des stringgrid.... Résultat je ss un pe ds l'embarra vu que dans mon appli je ss obligé de mettre un stringgrid ou listview...... dc voila prkoi g besoin d'aide, j'ai pas trouvé de documentation.

Encore un Grand Merci :big)
0
Loulibier
Messages postés
309
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
24 septembre 2008
2
25 août 2004 à 14:41
N'hésite pas a poser des questions, car le forum est là pour y répondre, mais donne l'impression de chercher un peu, car on va croire que tu cherches la facilité.

Bonne Prog,

Olivier.
0