Richtextbox, numéro de ligne, colonnes...

Description

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 !

Codes Sources

A voir également

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.