Bonjour à tous,

J'ai un StringGrid et un évènement MouseDown dessus qui permet de sélectionner une ligne lors d'un clic dessus.
J'ai également un évènement DblClick qui permet de lancer une fenêtre donnant des détails de l'élément concerné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
procedure TfrmListe.sgMainDblClick(Sender: TObject);
var ACol, Arow, i, j:integer;
  strTmp: String;
  frmMain2: TfrmMain;
begin
  sgMain.MouseToCell(sgMain.ScreenToClient(Mouse.CursorPos).X,sgMain.ScreenToClient(Mouse.CursorPos).Y,Acol,ARow);
  if (Arow>2) then begin
    strTmp := sgMain.Cells[0, Arow];
    frmMain2 := TfrmMain.Create(Self, strTmp);
    frmMain2.ShowModal;
  end;
end;
Le problème, c'est que lorsque je ferme la fenêtre (même un simple showMessage, c'est pareil), il sélectionne la ligne du StringGrid là ou la souris à cliqué en dernier, là ou se trouvait le bouton "Fermer" de la fenêtre (il est toujours dans l'évènement DblClick).

J'ai essayé des processmessages, des Exit et tralala, mais rien n'y fait.

Comment faire pour annuler les effets du Double Clic de mon stringGrid dans l'évènement même ?

Merci d'avance.