Функция _GUICtrlStatusBar_GetTextFlags

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


_GUICtrlStatusBar_GetTextFlags

Возвращает длину текста и флаги указанной части

#include <GuiStatusBar.au3>
_GUICtrlStatusBar_GetTextFlags($hWnd, $iPart)

Параметры

$hWnd Дескриптор элемента
$iPart Индекс части, отсчёт от 0

Возвращаемое значение

Возвращает двойное слово. Младшее слово, содержащее длину текста в символах. Старшее слово содержит тип операции рисования текста. Тип может быть одним из следующих значений: 0 - текст рисуется с границами to appear lower than the plane of the window
        $SBT_NOBORDERS - текст рисуется без границ
        $SBT_OWNERDRAW - The text is drawn by the parent window
        $SBT_POPOUT - The text is drawn with a border to appear higher than the plane of the window
        $SBT_RTLREADING - The text will be displayed in the opposite direction to the text in the parent window

См. также

_GUICtrlStatusBar_GetTextLength, _GUICtrlStatusBar_GetTextLengthEx

Пример

#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <WindowsConstants.au3>

$Debug_SB = False ; Проверяет ClassName передаваемый в функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает

Global $iMemo

_Main()

Func _Main()

    Local $hGUI, $hStatus
    Local $aParts[3] = [75, 150, -1]

    ; Создаёт GUI
    $hGUI = GUICreate("(Пример 1) Получает флаги текста", 400, 300)
    $hStatus = _GUICtrlStatusBar_Create ($hGUI)

    ; Создаёт элемент для заметок
    $iMemo = GUICtrlCreateEdit("", 2, 2, 396, 274, $WS_VSCROLL)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUISetState()

    ; Устанавливает части
    _GUICtrlStatusBar_SetParts ($hStatus, $aParts)
    _GUICtrlStatusBar_SetText ($hStatus, "Часть 1", 0, $SBT_POPOUT)
    _GUICtrlStatusBar_SetText ($hStatus, "Часть 2", 1, $SBT_NOBORDERS)
    _GUICtrlStatusBar_SetText ($hStatus, "Часть 3", 2, $SBT_NOTABPARSING)

    ; Получает информацию текста
    For $iI = 0 To _GUICtrlStatusBar_GetCount ($hStatus) - 1
        MemoWrite("Часть " & $iI & " флаги текста: " & _GUICtrlStatusBar_GetTextFlags ($hStatus, $iI))
        MemoWrite("Часть " & $iI & " длина текста: " & _GUICtrlStatusBar_GetTextLength ($hStatus, $iI))
        MemoWrite("Часть " & $iI & " длина текста: 0x" & Hex(_GUICtrlStatusBar_GetTextLengthEx ($hStatus, $iI)))
        MemoWrite()
    Next

    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main

; Записывает строку в элемент для заметок
Func MemoWrite($sMessage = "")
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite