Définit le temps de clignotent le curseur
#include <WinAPIRes.au3>
_WinAPI_SetCaretBlinkTime ( $iDuration )
$iDuration | Le nouveau temps de clignotement, en millisecondes. Si ce paramètre est (-1), le curseur ne clignote pas. |
Succès: | Retourne le temps de clignotement précédent, en millisecondes. |
Échec: | Définit @error <> 0, appelez _WinAPI_GetLastError() pour obtenir des informations sur l'erreur. |
L'utilisateur peut définir le temps du clignotement en utilisant le Panneau de configuration. Les applications doivent respecter le paramétrage que l'utilisateur a choisi. Cette fonction doit être utilisée seulement par l'application qui permet à l'utilisateur de définir le temps de clignotement, comme l'applet du Panneau de configuration.
Consultez SetCaretBlinkTime dans la librairie MSDN.
#include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WinAPIConv.au3> #include <WinAPIGdi.au3> #include <WinAPIHObj.au3> #include <WinAPIRes.au3> #include <WindowsConstants.au3> Global $g_vDuration = Default, $g_hBitmap = _WinAPI_CreateSolidBitmap(0, 0x00AEFF, 10, 14) OnAutoItExitRegister('OnAutoItExit') Local $hForm = GUICreate('Test '& StringReplace(@ScriptName, '.au3', '()'), 400, 93) Local $idInput = GUICtrlCreateInput('', 20, 20, 360, 20) Local $idButton = GUICtrlCreateButton('Exit', 165, 59, 70, 23) GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND') GUISetState(@SW_SHOW) Global $iMsg Do $iMsg = GUIGetMsg() Until $iMsg = $GUI_EVENT_CLOSE Or $iMsg = $idButton Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) #forceref $iMsg If $hWnd = $hForm Then If _WinAPI_LoWord($wParam) = $idInput Then Switch _WinAPI_HiWord($wParam) Case $EN_KILLFOCUS _WinAPI_HideCaret($lParam) _WinAPI_DestroyCaret() _WinAPI_SetCaretBlinkTime($g_vDuration) $g_vDuration = Default Case $EN_SETFOCUS $g_vDuration = _WinAPI_SetCaretBlinkTime(-1) _WinAPI_CreateCaret($lParam, $g_hBitmap) _WinAPI_ShowCaret($lParam) EndSwitch EndIf EndIf Return $GUI_RUNDEFMSG EndFunc ;==>WM_COMMAND Func OnAutoItExit() _WinAPI_DeleteObject($g_hBitmap) If Not IsKeyword($g_vDuration) Then _WinAPI_SetCaretBlinkTime($g_vDuration) EndIf EndFunc ;==>OnAutoItExit