Selectionner une ligne dans un Stringgrid !!

jm2mars Messages postés 11 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 12 janvier 2005 - 22 juin 2004 à 17:25
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 - 22 juin 2004 à 19:04
Salut à tous !

Voilà j'ai une difficulté pour sélectionner une ligne avec le clic droit souris.

Bon je sais récupérer l'évènement clic droit souris dans OnMouseDown, mais je ne sais pas sélectionner la ligne sur laquelle je me trouve !!

Je pense qu'il est possible de le faire à partir des coordonnées X et Y mais comment ?

Merci pour vos réflexions !!! :)

3 réponses

Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
22 juin 2004 à 18:14
Salut,

Essais ce petit source :

procedure TWndMain.StringGrid1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  rRect : TGridRect;
begin
  if Shift = [ssRight] then
  begin
    rRect.Left := 1;
    rRect.Top := StringGrid1.MouseCoord(X,Y).Y;
    rRect.Right := StringGrid1.ColCount - 1;
    rRect.Bottom := StringGrid1.MouseCoord(X,Y).Y;
    StringGrid1.Selection := rRect;
  end;
end;


loulibier.
1
jm2mars Messages postés 11 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 12 janvier 2005
22 juin 2004 à 18:44
Merci à toi ton code marche au top !!!

Au fait pour récupérer le clic droit souris tu peux utiliser:

If (Button=mbright) then ...

avec OnMouseDown !!!

Merci pour ton aide :big)
0
Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
22 juin 2004 à 19:04
Les deux méthodes fonctionnent.

:big)
0
Rejoignez-nous