peug
Messages postés232Date d'inscriptionmercredi 25 octobre 2000StatutMembreDernière intervention 5 octobre 2012
-
26 mai 2009 à 10:55
peug
Messages postés232Date d'inscriptionmercredi 25 octobre 2000StatutMembreDernière intervention 5 octobre 2012
-
26 mai 2009 à 11:51
Bonjour,
J'ai trouvé ce code permettant de donner le nombre de ligne d'un textbox multiline
Public Function GetLine(TBox As TextBox, LineNumber) As String
SendMessage TBox.hwnd, EM_FMTLINES, 1, 0#
GetLine = Replace$(TBox.Text, vbCr & vbCrLf, vbCrLf)
SendMessage TBox.hwnd, EM_FMTLINES, 0, 0#
GetLine = Split(GetLine, vbCrLf)(LineNumber + 1)
End Function
Mais quelqu'un peut-il m'expliquer à quoi sert SendMessage ici ?
Merci bien
Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDernière intervention 4 juin 201610 26 mai 2009 à 11:36
Bonjour,
Tout simplement, tu envoies un message via la fonction SendMessage à ta textBox en la priant bien gentiment de te renvoyer le nombre de lignes qu'elle contient.
En décomposant l'API:
SendMessage demande à Windows d'envoyer un message
TextBox.hwnd (le handle de ta textbox) est le destinataire.
EM_FMTLINES est le message demandant le nb de lignes
en retour tu reçois le nb de lignes.
J'espère avoir bien répondu à ta question, les API sont irremplaçables mais sont effectivement souvent assez nébuleuses et la doc Microsoft plutôt axée sur le C++ et non sur VB.
Calade