Aide Explication SendMessage

peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012 - 26 mai 2009 à 10:55
peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Derniè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

4 réponses

Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
26 mai 2009 à 11:10
Bonjour,

Notre vieil ami Bill te l'explique ici:

http://msdn.microsoft.com/en-us/library/ms644950(VS.85).aspx

Calade
0
peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012
26 mai 2009 à 11:13
merci mais je veux pas paraitre nul mais là si; disons que j'y comprend pour le cas
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
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
0
peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012
26 mai 2009 à 11:51
Merci, magique tout ça
0
Rejoignez-nous