Bonjour,

J'ai bien noté que la propriété CaretPos retourne un TPoint qui contient les coordonnées X et Y du curseur dans un mémo : ie si le curseur est sur la première ligne entre le 3eme et 4eme caractère alors x=3 et y=0. Donc, en toute logique, dans un TEdit monoligne, TEdit.CaretPos.y devrait toujours être a 0 et TEdit.CaretPos.x devrait donner la position du curseur dans la ligne.

Mais, en appelant cette propriété pour TEdit, x et y sont toujours mis à 0.

Ma question toute bête : comment fait-on pour connaître la position du curseur dans un TEdit ?

Pour plus de claté, voilà mon code qui devrait me donner la position du curseur après insertion d'un caractère (ou modif de la position du curseur par les touches flêchées) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
procedure Tmenuppl. Edit1KeyUp( Sender : TObject; var Key : Word;   Shift : ShiftState);
var
    coord :TPoint ;
begin
    coord:=Edit1.CaretPos;
    MessageDlg('x='+inttostr(coord.x)+' /y='+inttostr(coord.y),MaskEdit1.text,mtInformation,[mbOk,mbCancel,mbYes],0);
 
end;
En vous remerciant par avance.

Cordialement.