Text Caret
Caret is a blinking cursor in a window. It displays the current position of the cursor where the input is getting added from user. A textbox or text area control automatically displayes caret. It is the builtin property of the windon. However a custom window application which displayes logs, terminal or console output etc can use caret. Win32 APIs are available to create, distroy, show, hide, set position etc.
CreateCare
CreateCaret() creates a cursor with a size of nWidth x nHeight. It creates a solid cursor if hBitmap is NULL else the bitmap is used for drawing the cursor.
BOOL WINAPI CreateCaret(HWND hWnd, HBITMAP hBitmap, int nWidth, int nHeight);
DestroyCaret
Frees the memory of cursor object and releases the handle
BOOL WINAPI DestroyCaret(void);
GetCaretBlinkTime
Returns the current blink interval time of the cursor in milliseconds. The less the number the more the blink rate.
UINT WINAPI GetCaretBlinkTime(void);
GetCaretPos
Returns the current position of the cursor.
BOOL WINAPI GetCaretPos(LPPOINT lpPoint);
HideCaret
Hides the cursor of the window.
BOOL WINAPI HideCaret(HWND hWnd);
SetCaretBlinkTime
Set the blink time of the caret in miliseconds. The less the time the more the blinking rate.
BOOL WINAPI SetCaretBlinkTime(UINT uMSeconds);
SetCaretPos
SetCaretPos set the caret position in the window
BOOL WINAPI SetCaretPos(int X, int Y);
ShowCaret
ShowCaret shows the blinking caret
BOOL WINAPI ShowCaret(HWND hWnd);
Caret Demo application
Demo aplication showing Create, Destroy, Show, Hide of Caret/Cursor. With UP arrow key, caret blink time is reduced and blink rate increases. With DOWN arrow key, caret blink time is increated and blink rate reduced.
Output

About our authors: Team EQA
Further readings
Where is WinMain() function in MFC application ?
MFC hides WinMain in its framework and includes source file on WinMain(). This explains how framework calls global CWinApp::Initinstance() from entry WinMain.
What is the utility of CWinApp class?
This is constructed during global C++ objects are constructed and is already available when Windows calls the WinMain function, which is supplied by the ...
Basic steps in Win32 GUI Application with source code.
Define a custom Window class structure, Register the class name, CreateWindow, Show windows and write message get and dispatch loop statements. Define the Window CallBack procedure and write the handlers.
What is a Window CallBack procedure and what is its utility?
DispatchMessage() is a API which indirectly triggers the Window CallBack procedure. Message structure members from this function are passed to the CallBack procedure. CallBack procedure should implement event handlers depending on the need of the application.
What are LPARAM and WPARAM in window proc function?
LPARAM and WPARAM are the two parameters in Window CallBack procedure. They signifies parameters of various events. They are used in handing individual events.
What are the basic steps of a typical MFC based application?
We need to write WinMain and need to follow all these in a Win32 application. However we need not to write much if we are writing an application with MFC ...
Questions index C Questions C++ Questions Win32 MFC COM/DCOM DLL Questions
Compilers & Editors
Download Visual Studio Download XCode Download Visual Studio Code Android studio install sdk Eclipse installer Best C compilers IDEs
Development system setup
Windows media creation tool MSDN subscription Ubuntu virtualbox
New updated posts
Why learn C? Calculate weighted average