Retrieves the number of lines in a multi-line edit control
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_GetLineCount ( $hWnd )
$hWnd | Handle to the control |
Success: | the total number of text lines. |
Failure: | 0 and sets the @error flag to non-zero. |
@error: | 101 - $hWnd is not a handle |
A control that contains no text has one line.
Lines that are not currently visible are included in the count.
If Wordwrap is enabled, the number of lines can change when the dimensions of the editing window change.
Search EM_GETLINECOUNT in MSDN Library.
#include <GUIConstantsEx.au3>
#include <GuiRichEdit.au3>
#include <WindowsConstants.au3>
Global $g_idLblMsg
Example()
Func Example()
Local $hGui, $iMsg, $hRichEdit
$hGui = GUICreate("Example (" & StringTrimRight(@ScriptName, StringLen(".exe")) & ")", 320, 350, -1, -1)
$hRichEdit = _GUICtrlRichEdit_Create($hGui, "This is a 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 & "Line " & $i)
Next
Report("The control contains " & _GUICtrlRichEdit_GetLineCount($hRichEdit) & " lines")
While True
$iMsg = GUIGetMsg()
Select
Case $iMsg = $GUI_EVENT_CLOSE
_GUICtrlRichEdit_Destroy($hRichEdit) ; needed unless script crashes
; GUIDelete() ; is OK too
Exit
EndSelect
WEnd
EndFunc ;==>Example
Func Report($sMsg)
GUICtrlSetData($g_idLblMsg, $sMsg)
EndFunc ;==>Report