Функция _GUICtrlRichEdit_ChangeFontSize

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


_GUICtrlRichEdit_ChangeFontSize

Увеличение или уменьшение размера шрифта выделенного текста

#include <GuiRichEdit.au3>
_GUICtrlRichEdit_ChangeFontSize($hWnd, $iIncrement)

Параметры

$hWnd Дескриптор элемента
$iIncrement Положительное увеличивает, отрицательное уменьшает

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

Succcess:Возвращает True - Размер шрифта изменён
Ошибка:Возвращает False и может установить @error
@error:101 - $HWnd не является дескриптором
102 - $iIncrement не является числом
-1 - нет выделенного текста

Примечания

Если несколько размеров шрифта в выделенном тексте, то все либо увеличиваются, либо уменьшаются

Для положительного $iIncrement, размеры шрифтов округляются до верхнего; для отрицательного $iIncrement, округляются до нижнего.

Rich Edit сначала добавляет $iIncrement до существующего размера шрифта. Затем округляет вверх (или вниз) следующим образом:
<= 12 пунктов: 1 например 7 + 1 => 8 пунктов, 14 - 3 => 10 пунктов
от 12.05 до 28 пунктов: 20 + 2.25 => 24 пункта
от 28.05 до 80 пунктов: округляет до ближайших 28, 36, 48, 72 или 80, например 28 + 1 => 36 пунктов, 80 - 1 => 72 пунктов
> 80 пунктов: 10, например 80 + 1 => 90

См. также

_GUICtrlRichEdit_SetFont

См. также

Искать EM_SETFONTSIZE в библиотеке MSDN

Пример

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

Global $lblMsg, $hRichEdit

Main()

Func Main()
    Local $hGui, $btnEnlarge, $btnReduce
    $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)
    $btnEnlarge = GUICtrlCreateButton("Увеличить шрифт", 140, 310, 120, 30)
    $btnReduce = GUICtrlCreateButton("Уменьшить шрифт", 270, 310, 120, 30)
    GUISetState()

    _GUICtrlRichEdit_SetSel($hRichEdit, 0, -1) ; Выделяет всё

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                _GUICtrlRichEdit_Destroy($hRichEdit)
                GUIDelete()
                Exit
            Case $btnEnlarge
                ChangeFontSize(2)
            Case $btnReduce
                ChangeFontSize(-2)
        EndSwitch
    WEnd
EndFunc   ;==>Main

Func ChangeFontSize($d)
    Local $iOld, $iNew
    $iOld = _GUICtrlRichEdit_GetFont($hRichEdit)
    _GUICtrlRichEdit_ChangeFontSize($hRichEdit, $d)
    $iNew = _GUICtrlRichEdit_GetFont($hRichEdit)
    GUICtrlSetData($lblMsg, "Шрифт был " & $iOld[0] & " пунктов, теперь стал " & $iNew[0] & " пунктов")
EndFunc   ;==>ChangeFontSize