Exploitation de l'évènement selChange d'un contrôle RichTextBox pour afficher le numéro de la ligne courante, le nombre total de ligne, le numéro de la colonne courante, le nombre de caractères.
Source / Exemple :
'vb@visuelsonic.com
'------------------
Option Explicit
'--------------
Dim m_lngTotalLigne As Long
Dim m_lngNumLigne As Long
Dim m_lngOldLigne As Long
'--------------
Private Sub rtf_SelChange()
Dim iCount As Integer
Dim iLastPos As Integer
'---
'nombre de caractères
Label1.Caption = "lettres : " & _
Len(Replace(Replace(Replace(rtf.Text, vbCrLf, ""), _
vbTab, ""), " ", ""))
'nombre total de lignes
m_lngTotalLigne = rtf.GetLineFromChar(Len(rtf.Text)) + 1
'ligne en cours
m_lngNumLigne = rtf.GetLineFromChar(rtf.SelStart) + 1
'ligne en cours/nombre total de lignes
Label3.Caption = "Lignes : " & m_lngNumLigne & _
" / " & m_lngTotalLigne
'----
'affichage sur ligne 1
If m_lngNumLigne = 1 Then
iCount = rtf.SelStart
ElseIf m_lngNumLigne > 1 Then
'récupere la position du curseur / la ligne en cours
iLastPos = InStrRev(rtf.Text, vbCrLf, rtf.SelStart)
iCount = rtf.SelStart - iLastPos - 1
End If
'----
m_lngOldLigne = m_lngNumLigne
'----
Label4.Caption = "Colonnes : " & iCount
End Sub
Conclusion :
instrRev --> fait la même chose que instr, à l'envers !
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.