Obtient le nombre de lignes d'un contrôle d'édition multiligne
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_GetLineCount ( $hWnd )
$hWnd | Handle du contrôle |
Succès: | Retourne le nombre total de lignes du texte. |
Échec: | Retourne 0 et définit @error <> 0. |
@error: | 101 - $hWnd n'est pas un handle |
Un contrôle qui ne contient pas de texte a une ligne.
Les lignes qui ne sont pas visibles sont inclus dans le décompte.
Si Wordwrap est activé, le nombre de lignes peut changer lorsque les dimensions de la fenêtre d'édition changent.
Consultez EM_GETLINECOUNT dans la librairie MSDN.
#include <GUIConstantsEx.au3> #include <GuiRichEdit.au3> #include <WindowsConstants.au3> Global $g_idLblMsg Example() Func Example() Local $hGui, $iMsg, $hRichEdit $hGui = GUICreate("Exemple (" & StringTrimRight(@ScriptName, 4) & ")", 320, 350, -1, -1) $hRichEdit = _GUICtrlRichEdit_Create($hGui, "Ceci est un test.", 10, 10, 300, 220, _ BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL)) $g_idLblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60) GUISetState(@SW_SHOW) For $i = 2 To 10 _GUICtrlRichEdit_AppendText($hRichEdit, @CRLF & "Ligne " & $i) Next Report("Le contrôle contient " & _GUICtrlRichEdit_GetLineCount($hRichEdit) & " lignes") Do Until GUIGetMsg() = $GUI_EVENT_CLOSE _GUICtrlRichEdit_Destroy($hRichEdit) ; Nécessaire sauf si le script se bloque ; GUIDelete(); est OK aussi EndFunc ;==>Example Func Report($sMsg) GUICtrlSetData($g_idLblMsg, $sMsg) EndFunc ;==>Report