Salut
J'ai été confronté à cette question récemment pour retrouver le texte sous la souris.
Je te l'ai aménagé pour répondre à ta question :
-1- Supposons que le RichTextBox s'appelle rtfText
-2- Dans la partie déclaration de ton code :
Option Explicit
Private Type PointApi
x As Long
y As Long
End Type
Private Const EM_CHARFROMPOS As Long = &HD7
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
ByVal hWnd As Long, _
ByVal msg As Long, _
ByVal wp As Long, _
lp As Any) As Long
-3- Dans le code d'un bouton (par exemple) :
Private Sub Command1_Click()
' On va chercher le texte qui se trouve en haut à gauche d'un RTB
Dim Caract As PointApi, PosCar As Long
' Toutes ces coordonnées qui suivent sont en pixel, pas en twips
On Error Resume Next
' Coordonnées du caractère du coin haut gauche (à la louche)
Caract.x = 2 ' pixel
Caract.y = 2 ' pixel
' Recherche le caractère qui correspond
PosCar = SendMessage(rtfText.hWnd, EM_CHARFROMPOS, ByVal 0, ByVal Caract)
If PosCar = 0 Then Exit Sub
Debug.Print "10 caractères trouvés >" & Mid(rtfText.Text, PosCar + 1, 10) & "<"
End Sub
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)