NUMÉRO DE LA LIGNE DANS UN TEXTBOX

Signaler
Messages postés
436
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
2 février 2010
-
Messages postés
24
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
25 novembre 2016
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/3059-numero-de-la-ligne-dans-un-textbox

Messages postés
24
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
25 novembre 2016

Merci Renfield... C'est vrai que quand on sait où chercher çà va mieux...
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
pour ceux qui trouvent que le code présenté ici est trop lent....


Private Const EM_LINEFROMCHAR As Long = &HC9

Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long

Private Sub Text1_Click()
Dim nLine As Long
nLine = 1 + SendMessage(Text1.hwnd, EM_LINEFROMCHAR, Text1.SelStart, ByVal 0&)
Label1.Caption = "Ligne N°" & nLine
End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
Text1_Click
End Sub
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
gaffe au Byval :
MsgBox SendMessage(Form1.Text1.hWnd, EM_GETLINECOUNT, 0, Byval 0)

ravi de voir que tu a cherché un peu par toi même.
Messages postés
24
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
25 novembre 2016

Bon, ben j'ai la réponse grâce à Renfield :

Pour compter les lignes d'un contrôle txt avec ScrollBars = 2-Vertical :

'Compter les lignes d'un controle
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Const EM_GETLINECOUNT = &HBA

MsgBox SendMessage(Form1.Text1.hWnd, EM_GETLINECOUNT, 0, 0)

Merci !!!!!!
Afficher les 12 commentaires