Select cellule Stringgrid [Résolu]

Signaler
Messages postés
10
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
3 avril 2007
-
Loulibier
Messages postés
323
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
24 septembre 2008
-
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

Messages postés
323
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
24 septembre 2008
1
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.
Messages postés
323
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
24 septembre 2008
1
Salut,

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

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


Bonne Prog,

Olivier.
Messages postés
323
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
24 septembre 2008
1
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
Messages postés
10
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
3 avril 2007
1
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
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
26
Petit rappel : le langage style SMS est à bannir sur ce site. (Voir charte du forum)
Messages postés
323
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
24 septembre 2008
1
Qu'estque tu entends pas style SMS ?
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
26
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
Messages postés
323
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
24 septembre 2008
1
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.
Messages postés
10
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
3 avril 2007
1
Merci ! ton aide est précieuse MERCI a Toi Loulibier.

Delphiprog : promis je recommencerai plus :big)
Messages postés
10
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
3 avril 2007
1
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
Messages postés
10
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
3 avril 2007
1
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)
Messages postés
323
Date d'inscription
jeudi 6 juin 2002
Statut
Membre
Dernière intervention
24 septembre 2008
1
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.