Obtient les coordonnées, dans la zone client, d'un caractère spécifié d'un contrôle d'édition
#include <GuiEdit.au3>
_GUICtrlEdit_PosFromChar ( $hWnd, $iIndex )
$hWnd | ID/handle du contrôle |
$iIndex | L'index, à partir de 0, du caractère |
#include <GUIConstantsEx.au3> #include <GuiEdit.au3> #include <GuiStatusBar.au3> #include <WindowsConstants.au3> Example() Func Example() Local $hStatusBar, $idEdit, $hGUI, $iIndex Local $sWow64 = "" If @AutoItX64 Then $sWow64 = "\Wow6432Node" Local $sFile = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE" & $sWow64 & "\AutoIt v3\AutoIt", "InstallDir") & "\include\_ReadMe_.txt" Local $aPartRightSide[2] = [80, -1], $aPos ; Crée une GUI $hGUI = GUICreate("Edit Pos From Char", 400, 300) $idEdit = GUICtrlCreateEdit("", 2, 2, 394, 268, BitOR($ES_WANTRETURN, $WS_VSCROLL, $ES_NOHIDESEL)) $hStatusBar = _GUICtrlStatusBar_Create($hGUI, $aPartRightSide) GUISetState(@SW_SHOW) ; Définit les marges _GUICtrlEdit_SetMargins($idEdit, BitOR($EC_LEFTMARGIN, $EC_RIGHTMARGIN), 10, 10) ; Définit le texte _GUICtrlEdit_SetText($idEdit, FileRead($sFile)) ; Position du caractère $iIndex = 100 $aPos = _GUICtrlEdit_PosFromChar($idEdit, $iIndex) _GUICtrlEdit_SetSel($idEdit, $iIndex, $iIndex + 1) _GUICtrlStatusBar_SetText($hStatusBar, "X = " & $aPos[0]) _GUICtrlStatusBar_SetText($hStatusBar, "Y = " & $aPos[1], 1) ; Boucle jusqu'à ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>Example