Что нового

Назначить цвет текста

Fever

Скриптер
Сообщения
308
Репутация
112
Здраствуйте, нашёл сегодня скрипт TCP чата, решил его немножко модифицыровать под себя ;D но по ходу столкнулся с проблемой: немогу поменять цвет отдельного сообщения, потому что они все розмещены в одном Edit...

Прошу помощи в реализации.

Код:
$Accept = TcpAccept ($Server)
;...
$Recv = TcpRecv ($Accept, 1000000)
;...
ElseIf StringLeft ($Recv, 2) = '.!' Then
   If $User[$A] == $Admin Then
   $Recv = StringTrimLeft($Recv, 2)
   _SendAll($Recv) ;функция посылки сообщеня
Else
   TcpSend ($Socket[$A], '[%Time] Server : У вас нет таких привилегий.')
EndIf
 

Redline

AutoIT Гуру
Сообщения
506
Репутация
370
Ага, сам с таким столкнулся - выход используй не
Код:
GUICtrlCreateEdit
, а
Код:
_IECreateEmbedded()
. Вот пример из моего чата:
Код:
Func _IE_Out_create()
	$oIE = _IECreateEmbedded()
	$objOutCtrl = GUICtrlCreateObj($oIE, 5, 5, 990, 560)
	_IENavigate($oIE, 'about:blank')
	$s_html = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">' & @CR
	$s_html &= '<html><head><title>Chat Tet-a-Tet</title>'
	$s_html &= '<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">'
	$s_html &= '<style type="text/css">'
	$s_html &= 'body {background-color: #000000; margin="5"; font-family: "Courier New", sans-serif; font-size: 15pt;}'
	$s_html &= '</style>'
	$s_html &= '</head>'
	$s_html &= '<body></body></html>'
	_IEDocWriteHTML($oIE, $s_html)
	$objOut = _IETagNameGetCollection($oIE, "body", 0)
	_IEHeadInsertEventScript($oIE, "document", "oncontextmenu", "return false") ; запрет на появление контестного меню в IE
EndFunc ;==>_IE_Out_create


И дальше вставляй текст с любым цветом:
Код:
$sIns = '<font color="#0000FF"><b>' & $Nick & '</b></font><font color="#FF0000"> << </font><font color="#00A800">' _
& $Recv & '</font>
'
_IEDocInsertHTML($objOut, $sIns)


Самое интересное было решить проблему с автоскроллом :laugh:
 
Автор
F

Fever

Скриптер
Сообщения
308
Репутация
112
эмм) спасибо) как же я сам не додумался? :D
 
Верх