Bonjour,
Je voudrais faire en sorte qu'en survolant les éléments de ma DBGrid à la souris, ceux "tronqués" apparaissent en entier dans le hint de la grille.
J'implémente donc l'évènement OnMouseMove mais j'arrive seulement à récupérer la valeur de l'enregistrement en cours, et pas de celui situé sous la souris ! Je voudrais juste récupérer une valeur texte, la propriété Cells ferait l'affaire mais elle n'existe pas en version DB...
Mes enregistrements étant triés j'essaie une requête à partir du paramètre gc.Y, mais dès lors que l'on navigue dans la grille le Y renvoie toujours la ligne en cours parmi les lignes affichées. Donc si je suis "descendu" aux enregistrements 20 à 30 et la souris localisée sur le 23, pour lui Y=3 donc il ne me renvoie pas la bonne valeur !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 procedure TfrmMain.maDBGridMouseMove(Sender: TObject; Shift: ShiftState; X, Y: Integer); var gc: TGridCoord; begin // Position de la souris sur la grille gc := maDBGrid.MouseCoord(X, Y); // Colonne voulue if gc.X = 2 then maDBGrid.Hint := monDataSet.FieldByName('CHAMP_VOULU').AsString; end;
Des idées svp ?
Merci
Partager