_GUICtrlRichEdit_GetCharAttributes
Возвращает атрибуты выделенного текста
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_GetCharAttributes($hWnd)
Параметры
$hWnd | Дескриптор элемента |
Возвращаемое значение
Успех: | Возвращает строку содержащую группы из трёх символов. Каждая группа состоит из: |
первый и второй символ: любой из: | |
bo - жирный | |
di - отключенный - символы отображается с тенью [nd] | |
em - рельефный / гравировка [nd] | |
hi - скрытый, т.е. не отображается | |
im - imprinted [nd] | |
it - курсив | |
li - стиль ссылки EN_LINK отправляющий сообщение, когда курсор мыши наводится над текстом с этим атрибутом | |
ou - outlined [nd] | |
pr - стиль EN_PROTECT, отправляющий сообщение, когда пользователь пытается изменить символ | |
re - marked as revised [nd] | |
sh - shadowed [nd] | |
sm - small capital letters [nd] | |
st - зачёркнутый | |
sb - subscript [nd] | |
sp - superscript [nd] | |
un - подчёркнутый | |
третий символ: + означает наличие атрибута, ~ если выделенные символы с различными атрибутами | |
Ошибка: | Возвращает -1 и устанавливает @error |
@error: | 101 - $HWnd не является дескриптором |
-1 - отсутствует выделенный текст |
Примечания
Некоторые атрибуты не отображаются в элементе Rich Edit; они отмечены аббревиатурой [nd] в таблице выше.См. также
_GUICtrlRichEdit_SetCharAttributesСм. также
Искать EM_GETCHARFORMAT в библиотеке MSDNПример
#include <GuiRichEdit.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Main()
Func Main()
Local $hGui, $iCp1, $lblMsg, $hRichEdit
$hGui = GUICreate(StringTrimRight(@ScriptName, 4), 420, 350, -1, -1)
$hRichEdit = _GUICtrlRichEdit_Create($hGui, 'Это тест.', 10, 10, 400, 220, _
BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
$lblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60)
GUISetState()
_GUICtrlRichEdit_AutoDetectURL($hRichEdit, True)
_GUICtrlRichEdit_AppendText($hRichEdit, @CR & "http://www.autoitscript.com")
$iCp1 = _GUICtrlRichEdit_GetFirstCharPosOnLine($hRichEdit, 2)
_GUICtrlRichEdit_SetSel($hRichEdit, $iCp1, $iCp1 + 3)
GUICtrlSetData($lblMsg, "Атрибуты символов в начале 2-й строки: " & _
_GUICtrlRichEdit_GetCharAttributes($hRichEdit))
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
_GUICtrlRichEdit_Destroy($hRichEdit)
GUIDelete()
Exit
EndSwitch
WEnd
EndFunc ;==>Main