UDF > GUI > GuiRichEdit >


_GUICtrlRichEdit_SetScrollPos

Fait défiler l'affichage pour que ($iX,$iY) soit dans le coin supérieur gauche du contrôle

#include <GuiRichEdit.au3>
_GUICtrlRichEdit_SetScrollPos ( $hWnd, $iX, $iY )

Paramètres

$hWnd Handle du contrôle
$iX Coordonnée X (en pixels)
$iY Coordonnée Y (en pixels)

Valeur de retour

Succès: Retourne True.
Échec: Retourne False et définit @error <> 0.
@error: 101 - $hWnd n'est pas un handle
102 - $iX n'est ni un nombre positif ni zéro
103 - $iY n'est ni un nombre positif ni zéro

Remarque

Jamais le texte ne défile complètement en dehors du rectangle d'édition.

En relation

_GUICtrlRichEdit_GetScrollPos

Voir aussi

Consultez EM_SETSCROLLPOS dans la librairie MSDN.

Exemple

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

Global $g_idLblMsg, $g_hRichEdit

Example()

Func Example()
    Local $hGui, $iMsg, $idBtnNext, $iStep = 0
    $hGui = GUICreate("Exemple (" & StringTrimRight(@ScriptName, 4) & ")", 320, 350, -1, -1)
    $g_hRichEdit = _GUICtrlRichEdit_Create($hGui, "", 10, 10, 300, 220, _
            BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
    $g_idLblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60)
    $idBtnNext = GUICtrlCreateButton("Suivant", 270, 310, 40, 30)
    GUISetState(@SW_SHOW)

    _GUICtrlRichEdit_SetText($g_hRichEdit, "Paragraphe 1")
    For $i = 2 To 20
        _GUICtrlRichEdit_AppendText($g_hRichEdit, @CRLF & "Paragraphe " & $i)
    Next
    Report("0. Initiallement défilé pour montrer le point d'insertion")

    $iMsg = GUIGetMsg()
    While $iMsg <> $GUI_EVENT_CLOSE
        If $iMsg = $idBtnNext Then
            $iStep += 1
            Switch $iStep
                Case 1
                    _GUICtrlRichEdit_SetScrollPos($g_hRichEdit, 0, 0)
                    Report("1. Fait défiler vers le haut")
                Case 2
                    _GUICtrlRichEdit_SetScrollPos($g_hRichEdit, 7, 22)
                    Report("2. Fait défiler vers le bas d'un pas, et vers la droite")
                    GUICtrlSetState($idBtnNext, $GUI_DISABLE)
            EndSwitch
        EndIf
        $iMsg = GUIGetMsg()
    WEnd

    _GUICtrlRichEdit_Destroy($g_hRichEdit) ; Nécessaire sauf si le script se bloque
    ; GUIDelete(); est OK aussi
EndFunc   ;==>Example

Func Report($sMsg)
    Local $aPos = _GUICtrlRichEdit_GetScrollPos($g_hRichEdit)
    $sMsg = $sMsg & @CRLF & @CRLF & "Obtient le retour de la fonction: " & $aPos[0] & ";" & $aPos[1]
    GUICtrlSetData($g_idLblMsg, $sMsg)
EndFunc   ;==>Report