# Caret

The Caret structure contains functions to create and manipulate the caret. The caret is typically used in edit controls to mark the point where new characters will be inserted. Usually it is a vertical bar which blinks on and off.

    structure Caret :
      sig
        type HWND and HBITMAP
        type POINT = { x: int, y: int }
        datatype
          caretShape =
              CaretBitmap of HBITMAP
            | CaretBlack of {width: int, height: int}
            | CaretGrey of {width: int, height: int}
        val CreateCaret : HWND * caretShape -> unit
        val DestroyCaret : unit -> unit
        val GetCaretBlinkTime : unit -> Time.time
        val GetCaretPos : unit -> POINT
        val HideCaret : HWND -> unit
        val SetCaretBlinkTime : Time.time -> unit
        val SetCaretPos : POINT -> unit
        val ShowCaret : HWND -> bool
      end