Что нового

[Элементы GUI] Как занести длинную строку в однострочный RichEdit ?

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Как занести длинную строку в однострочный RichEdit, аналогично тексту в Input ?
Т.е. видимо отменить выполняемый переход на новую строку.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
gregaz,
Попробуйте так:
Код:
#include <GuiRichEdit.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>

$sText = ''
$iRandom = Random(50, 200, 1)
For $i = 1 To $iRandom
	$sText &= Chr(Random(65, 90, 1))
Next

$hGui = GUICreate('Test', 300, 160)
$nLabel = GUICtrlCreateLabel('Длина текста в RichEdit: ' & $iRandom, 10, 10, 280, 20)
$hRichEdit = _GUICtrlRichEdit_Create($hGui, $sText, 10, 50, 280, 35, _
		BitOR($WS_HSCROLL, $ES_AUTOHSCROLL))
_GUICtrlRichEdit_GotoCharPos($hRichEdit, 0)
$nButton = GUICtrlCreateButton('GO', 100, 100, 100, 30)

GUISetState()
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			_GUICtrlRichEdit_Destroy($hRichEdit)
			Exit
		Case $nButton
			$sText = ''
			$iRandom = Random(50, 200, 1)
			For $i = 1 To $iRandom
				$sText &= Chr(Random(65, 90, 1))
			Next
			_GUICtrlRichEdit_SetSel($hRichEdit, 0, -1)
			_GUICtrlRichEdit_ReplaceText($hRichEdit, $sText)
			GUICtrlSetData($nLabel, 'Длина текста в RichEdit: ' & $iRandom)
			_GUICtrlRichEdit_GotoCharPos($hRichEdit, 0)
	EndSwitch
WEnd
 
Автор
G

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
madmasles [?]
Попробуйте так:

madmasles
Спасибо. :beer:
Извини,что заставил делать лишние телодвижения.
Видимо я не точно поставил задачу.

Мне оказывается достаточно установить стиль : $ES_AUTOHSCROLL
и все стало как у элемента : Input.

Как это я не догадался стиль поставить ? ;)
 
Верх