Funktionreferenz


_WinAPI_SetCaretBlinkTime


Sets the caret blink time

#include <WinAPIRes.au3>
_WinAPI_SetCaretBlinkTime ( $iDuration )

Parameter

$iDuration The new blink time, in milliseconds. If this parameter is (-1), caret does not blink.

Rückgabewert

Success: The previous blink time, in milliseconds.
Failure: Sets the @error flag to non-zero, call _WinAPI_GetLastError() to get extended error information.

Bemerkungen

The user can set the blink time using the Control Panel. Applications should respect the setting that the user
has chosen. This function should only be used by application that allow the user to set the blink time, such
as a Control Panel applet.

Siehe auch

Suche nach SetCaretBlinkTime in der MSDN Bibliothek.

Beispiel

#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('Beenden', 165, 59, 70, 23)
GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')
GUISetState(@SW_SHOW)

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE, $idButton
            ExitLoop
    EndSwitch
WEnd

Func WM_COMMAND($hWnd, $iMsg, $wParam, $lParam)
    #forceref $iMsg

    Switch $hWnd
        Case $hForm
            Switch _WinAPI_LoWord($wParam)
                Case $idInput
                    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
            EndSwitch
    EndSwitch
    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