Inkrementiert oder dekrementiert die Schriftgröße des markierten Textes
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_ChangeFontSize ( $hWnd, $iIncrement )
$hWnd | Handle des Controls |
$iIncrement | Positiv um zu vergrößern, negativ um zu verkleinern |
Erfolg: | True, Schriftgröße wurde verändert |
Fehler: | False und setzt @error möglicherweise ungleich 0 |
@error: | 101 - $hWnd ist kein Handle 102 - $iIncrement ist keine Zahl -1 - Kein Text markiert |
Wenn sich mehrere Schriftgrößen im markierten Text befinden, werden alle inkrementiert/dekrementiert.
Ist $iIncrement positiv, werden alle Schriftgrößen aufgerunde; ist $iIncrement negativ, werden diese abgerundet.
Das RichEdit-Control addiert zuerst $iIncrement zur existierenden Schriftgröße. Dann rundet es auf (oder ab) wie folgt:
<= 12 Punkte: 1 ; z.B. 7 + 1 => 8 Punkte, 14 - 3 => 10 Punkte
12.05 bis 28 Punkte: 20 + 2.25 => 24 Punkte
28.05 bis 80 Punkte: gerundet auf die nächsten 28, 36, 48, 72 oder 80, z.B. 28 + 1 => 36 Punkte, 80 - 1 => 72 Punkte
> 80 Punkte: 10, z.B. 80 + 1 => 90
- - - - - - - - Erklärung der Controls - - - - - - - -
Suche nach EM_SETFONTSIZE in der MSDN Bibliothek.
#include <GUIConstantsEx.au3>
#include <GuiRichEdit.au3>
#include <WindowsConstants.au3>
Global $g_idLblMsg, $g_hRichEdit
Example()
Func Example()
Local $hGui, $iMsg, $idBtnDoIt
$hGui = GUICreate("Beispiel (" & StringTrimRight(@ScriptName, 4) & ")", 320, 350, -1, -1)
$g_hRichEdit = _GUICtrlRichEdit_Create($hGui, "Dies ist ein Test.", 10, 10, 300, 220, _
BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
$g_idLblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60)
$idBtnDoIt = GUICtrlCreateButton("Mach es", 260, 310, 50, 30)
GUISetState(@SW_SHOW)
_GUICtrlRichEdit_SetSel($g_hRichEdit, 0, -1) ; select all
While True
$iMsg = GUIGetMsg()
Select
Case $iMsg = $GUI_EVENT_CLOSE
_GUICtrlRichEdit_Destroy($g_hRichEdit) ; wird benötigt, da sonst das Skript abstürzt
;~ GUIDelete() ; ist auch in Ordnung
Exit
Case $iMsg = $idBtnDoIt
ChangeFontSize()
EndSelect
WEnd
EndFunc ;==>Example
Func ChangeFontSize()
Local $av, $iOld, $iNew
$av = _GUICtrlRichEdit_GetFont($g_hRichEdit)
$iOld = $av[0]
_GUICtrlRichEdit_ChangeFontSize($g_hRichEdit, 2)
$av = _GUICtrlRichEdit_GetFont($g_hRichEdit)
$iNew = $av[0]
Report("Vorher " & $iOld & " Punkt Schrift; jetzt " & $iNew & " Punkt Schrift")
EndFunc ;==>ChangeFontSize
Func Report($sMsg)
GUICtrlSetData($g_idLblMsg, $sMsg)
EndFunc ;==>Report