Показать полную графическую версию : [решено] Текст строк разного цвета в GUICtrlCreateEdit
FlatX007
25-06-2009, 19:17
Как мне сделать строки разного цвета в GUICtrlCreateEdit инфа добавляется через _GUICtrlEdit_AppendText ... если вообще можно ...
т.е. это всё для этого (типа хвалюсь :spy: )
в этом GUICtrlCreateEdit », скорее всего ни как, но можно использовать RichText (http://www.autoitscript.com/forum/index.php?showtopic=79600&hl=RichEdit)
А для разноцветных label-ов, вот это (http://forum.ru-board.com/topic.cgi?forum=5&topic=29240&start=1430&limit=1&m=1#1)...
FlatX007
25-06-2009, 19:42
О круто .... значит всётаки можно, и исходный код программы не много коверкать. :kiss:
для разноцветных label-ов, вот это »
Да кстати, я UDF подправил, см. подробнее тут (http://www.autoitscript.com/forum/index.php?showtopic=96986).
FlatX007
09-07-2009, 14:44
А как через RichText поставить другой шрифт ... ошибку выдаёт
ошибку выдаёт »
Какую, и как пробовал?
FlatX007
09-07-2009, 15:26
#Include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>
#include <GuiRichEdit.au3>
$GUI = GUICreate("bye",700,500)
$hRichText = RichText_Create($GUI, 0, 0, 700, 500)
RichText_InsertText($hRichText, "Hello everybody")
GUISetState()
RichText_SetSel($hRichText, 6, 11); Pos 6 to 11 is 'every'
RichText_SetColor($hRichText, 0x0000FF, True); True = colorize selection, False = colorize all. !!! Color codes is BGR !!!
RichText_SetSel($hRichText, 0, 0); Set the selection to 0-0
RichText_SetFont($hRichText, "Comic Sans MS", $iSelec = True)
While 1
If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit
WEnd
AutoIt\1.au3(15,56) : ERROR: $iSelec: undeclared global variable.
RichText_SetFont($hRichText, "Comic Sans MS", $iSelec =
это:
RichText_SetFont($hRichText, "Comic Sans MS", $iSelec = True)
замени на это:
RichText_SetFont($hRichText, "Comic Sans MS", true)
А ошибка, т.к. в функцию RichText_SetFont передаешь переменную $iSelec, и тут же присваиваешь ей значение True:
RichText_SetFont($hRichText, "Comic Sans MS", $iSelec = True) что AutoIt делать не умеет.
Т.е передовать необходимо либо переменную $iSelec:
RichText_SetFont($hRichText, "Comic Sans MS", $iSelec)
либо конкретное значение:
RichText_SetFont($hRichText, "Comic Sans MS", true)
FlatX007, Ты это серъёзно? :o
RichText_SetFont($hRichText, "Comic Sans MS", $iSelec = True)
Разве не заметно в чём тут проблема (подсказака: что-то лишнее в последнем параметре)?
FlatX007
09-07-2009, 15:39
proxy »
Ты думаеш я так непробовал :) (некто незапрещал методом Русского тыка)
пишу так :
RichText_SetFont($hRichText, "Comic Sans MS", True) - от этого шрифт в окне не меняется, как впрочем и так RichText_SetFont($hRichText, "Arial Black", True)
что AutoIt делать не умеет. »
Вообще-то умеет, в этом случае будет передан результат сравнения переменной $iSelec со значением True, но так как переменная не объявлена (в этом случае она просто взята из примера синтаксисиа :) ), будет вызвана ошибка.
И ещё, для того тобы шрифт присвоился выделенной части текста, эта строчку нужно поместить перед RichText_SetSel, а не после.
Ты думаеш я так непробовал »
А зачем тогда писать об ошибке? Если проблема в присвоении шрифта, то именно об этом и нужно спрашивать, а не о глупой ошибке которую заранее сам знаешь как решить.
FlatX007
16-08-2009, 23:42
Ну вот вроде я и до этого добрался , но всё равно ничего непонятно.
Вот функция , при добавлении текста последняя строчка оказывается с верху ... а мне нужно с низу и с автоскролом.
И с троки неполучаются разного цвета, все сразу окрашиваются в последний цвет... что надо сделать?
#Include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>
#include <GuiRichEdit.au3>
$GUI = GUICreate("bye",300,200)
$hRichText = RichText_Create($GUI, 0, 0, 300, 200)
GUISetState()
_Mu("11111111111111111" & @CRLF, 0x0000FF, "Arial Black")
Sleep(1000)
_Mu("22222222222222222" & @CRLF, 0xFF0000, "Arial Black")
While 1
If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit
WEnd
Func _Mu($Text = 1, $Color = 1, $Font = 1)
RichText_InsertText($hRichText, $Text)
RichText_SetReadOnly($hRichText)
RichText_BkColor($hRichText, 0x000000)
RichText_SetSel($hRichText, 0, 1000)
RichText_SetColor($hRichText, $Color, True)
RichText_SetFont($hRichText, $Font, True)
RichText_SetSel($hRichText, 0, 0)
EndFunc
что надо сделать? »
#include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>
#include <GuiRichEdit.au3>
;
$GUI = GUICreate("bye", 300, 200)
$hRichText = RichText_Create($GUI, 0, 0, 300, 200)
RichText_SetReadOnly($hRichText)
RichText_BkColor($hRichText, 0x000000)
GUISetState()
_Mu("11111111111111111" & @CRLF, 0x0000FF, "Arial Black")
Sleep(1000)
_Mu("22222222222222222" & @CRLF, 0xFF0000, "Arial Black")
Sleep(1000)
_Mu("33333333333333333" & @CRLF, 0x00FF00, "Arial Black")
While GUIGetMsg() <> $GUI_EVENT_CLOSE
WEnd
Func _Mu($sText = 1, $nColor = 1, $nFont = 1)
Local $iStart_Sel = StringLen(RichText_GetText($hRichText))
Local $iEnd_Sel = $iStart_Sel + StringLen($sText)
RichText_AppendText($hRichText, $sText)
RichText_SetSel($hRichText, $iStart_Sel, $iEnd_Sel)
RichText_SetColor($hRichText, $nColor, True)
RichText_SetFont($hRichText, $nFont, True)
RichText_SetSel($hRichText, $iEnd_Sel, $iEnd_Sel)
EndFunc
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.