Функция _GUICtrlRichEdit_GetCharAttributes

 ↑  ←  Описание функции


_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