Что нового

[Элементы GUI] Выделить результат жирным шрифтом

volaxus

Новичок
Сообщения
5
Репутация
0
Есть часть кода:
Код:
Func GetVRF($UserLogin, $login, $password)
    $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
    $oHTTP.Open("GET", "https://****.net/users/?search="&StringReplace($UserLogin,"@", "%40"), False)
    $oHTTP.SetRequestHeader("Authorization", "Basic "&_Base64Encode($login&":"&$password))
    $oHTTP.Send()
    $oReceived = $oHTTP.ResponseText
    $oStatusCode = $oHTTP.Status
    If $oStatusCode == 200 then
	$Vlan = StringRegExp($oReceived, "(Vlan.*?)<", 3)
        if (UBound($Vlan) == 0) Then Return "Unknown Vlan"
        Return $Vlan[0]
    Else
        Return "Unknown Error"&$oStatusCode
    EndIf
 EndFunc
все работает корректно. В GUI интерфейс ( в текстовое поле ) выводится результат этой функции, а точнее — результат
Код:
$Vlan = StringRegExp($oReceived, "(Vlan.*?)<", 3)
. Помимо этого в текстовое поле выводится так же результаты и других функций (одно за другим, в столбик).

Вопрос заключается в том, что можно ли в выше описанной функции сделать вывод переменной $Vlan жирным текстом?
Потому как , если я добавлю
Код:
$font = "Comic Sans MS"
    GUICtrlSetFont(-1, 9, 700, 0, $font)
— то выделяется жирным весь тест, что неуместно в данном варианте. Так же создавать другое текстовое поле и выводить результат $Vlan туда не нужно (вывод — все в одно окно).
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
volaxus [?]
Если у вас текстовое поле создано при помощи GUICtrlCreateEdit(), то изменения будут применяться сразу ко всему тексту.
Если вы хотите "управлять" отдельными фрагментами текста, то нужно создавать элемент на базе RichEdit.
См. пример в справке к функции
Код:
_GUICtrlRichEdit_SetCharAttributes()
 
Автор
V

volaxus

Новичок
Сообщения
5
Репутация
0
В этой функции можно как-то обойтись без выделения текста и установки курсора? Нужно просто вывод результата жирным шрифтом.
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
volaxus [?]
просто вывод результата жирным шрифтом
Вот собрал из нескольких примеров
Код:
#include <GuiRichEdit.au3>
#include <WindowsConstants.au3>

$hGui = GUICreate("", 320, 350)
$hRichEdit = _GUICtrlRichEdit_Create($hGui, "Начало", 10, 10, 300, 220, BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
GUISetState(@SW_SHOW)
MsgBox(0, "", "Добавляем текст")
_GUICtrlRichEdit_AppendText($hRichEdit, @CRLF & "Добавленный текст" & @CRLF)
MsgBox(0, "", "Добавляем атрибут жирности")
_GUICtrlRichEdit_SetCharAttributes($hRichEdit, "+bo")
MsgBox(0, "", "Добавляем текст")
_GUICtrlRichEdit_AppendText($hRichEdit, "Жирный текст" & @CRLF)
MsgBox(0, "", "Снимаем атрибут жирности")
_GUICtrlRichEdit_SetCharAttributes($hRichEdit, "-bo")
MsgBox(0, "", "Добавляем текст")
_GUICtrlRichEdit_AppendText($hRichEdit, "Обычный текст" & @CRLF)
MsgBox(0, "", "Завершение работы")
_GUICtrlRichEdit_Destroy($hRichEdit)
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
InnI, Хороший пример получился.
 
Верх