Что нового

Как изменить цвет слова в тексте

smsgeorge

Новичок
Сообщения
63
Репутация
0
Здравствуйте! Порылся по гугол (аутоит) и не нашел решения. У меня есть определенный текст, еще не знаю как его делать (в едит или лейбл, или еще как), но нужно, чтобы в цикле, слово в тексте по порядку, меняло цвет.
То есть вот:
1 цикл) Шла Саша по шоссе
2 цикл) Шла Саша по шоссе
3 цикл) Шла Саша по шоссе
4 цикл) Шла Саша по шоссе
и так далее.
Сама идея понятна. Но где делать текст в лейбл или едит, а так же как обращаться к слову по порядку, вот это не понятно!
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,484
Используя GUIRichLabel:

Код:
#include <GUIConstantsEx.au3>
#include "GUIRichLabel.au3"

$hGUI = GUICreate("Example", 300, 200)

$sData = 'Шла Саша по шоссе'
$hRichLabel = _GUICtrlRichLabel_Create($hGUI, $sData, 20, 20, 260, 25)

GUISetState(@SW_SHOW, $hGUI)

$aWords = StringSplit($sData, ' ')

For $i = 1 To $aWords[0]
    Sleep(1000)
    $sTmp_Data = ''
   
    For $j = 1 To $aWords[0]
        If $j = $i Then
            $sTmp_Data &= '<font attrib="bold" color="red">' & $aWords[$j] & '</font> '
        Else
            $sTmp_Data &= $aWords[$j] & ' '
        EndIf
    Next
   
    _GUICtrlRichLabel_SetData($hRichLabel, $sTmp_Data)
Next

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd
 
Автор
S

smsgeorge

Новичок
Сообщения
63
Репутация
0
Уважаемый CreatoR, Благодарю вас! Подскажите еще пожалуйста, куда вставлять файлы библиотеки той. За всю жизнь 1 раз добавлял сторонние функции, но не помню уже как .
Сообщение автоматически объединено:

Разобрался. файлы (библиотеки или как называется) аутоит перенес в папку с самим файлом.
 
Последнее редактирование:

---Zak---

Скриптер
Сообщения
455
Репутация
120
Если используется "...", путь к файлу вычисляется относительно текущего скрипта.
Если используется <...>, путь к файлу вычисляется относительно каталога библиотек для включения (обычно C:\Program Files\AutoIt3\Include). Эти библиотеки содержат огромнейшее число пользовательских функций для использования!

Код:
#include "GUIRichLabel.au3"

Исходя из справки становится понятно, что библиотека должна находится в том же каталоге, что и скрипт
 

InnI

AutoIT Гуру
Сообщения
4,947
Репутация
1,443
библиотека должна находится в том же каталоге, что и скрипт
Нет, не должна. Скобки и кавычки определяют приоритет поиска. В случае кавычек AutoIt сначала ищет UDF относительно папки скрипта, затем относительно папки Include. Если скобки, то наоборот. Это важно, если у вас две одноимённые UDF. Если одна, то без разницы - скобки или кавычки. Например, такая конструкция
Код:
#include <..\BigNum.au3>
будет искать сначала в папке на уровень выше Include (т.е. в папке AutoIt), затем на уровень выше относительно папки скрипта.
Кстати, полный путь можно указывать как в кавычках, так и в скобках.
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
2 InnI
Согласен. Порядок поиска так же описан в справке, но мне как и всем читать справку порой лень)))
 
Верх