Bonjour,
Quand je clique dans un Memo, je veux sélectionner la ligne sous le curseur. J'ai fait :
ça marche, mais quand la ligne affichée est plus grande que la largeur du mémo, le texte se déplace vers la gauche et affiche la fin de ligne. Je voudrais revenir à un affichage du début de ligne sans la désélectionner. SetScrollPos ne fait que remettre la scrollbar à 0, mais ne bouge pas le texte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 { ===================================================================== } procedure TF_Import.MemoClick(Sender: TObject); // Sélection d'une ligne du mémo begin with TMemo(Sender) do begin FirstLine := SendMessage(TMemo(Sender).Handle, EM_LineFromChar, TMemo(Sender).SelStart, 0); Label1.Caption := 'Ligne : '+IntToStr(FirstLine) ; CaretPos:= Point(0, CaretPos.Y); // Début de la ligne SelLength:= length(Lines[CaretPos.Y]); // sélection de la ligne SetScrollPos(Memo.Handle, SB_HORZ, 0, True); // Essai de revenir en début de ligne sans déselection end; end; { ===================================================================== }
Comment faire ?
Merci
A+
Charly
Partager