Creating and Displaying a Caret
Upon receiving the keyboard focus, the window should create and display the
caret. Use the
CreateCaret function to create a caret in the given window. You can then call
SetCaretPos to set the current position of the caret and
ShowCaret to make the caret visible.
The system sends the
WM_SETFOCUS message to the window receiving keyboard focus; therefore, an application
should create and display the caret while processing this message.
HWND hwnd, // window handle
int x; // horizontal coordinate of cursor
int y; // vertical coordinate of cursor
int nWidth; // width of cursor
int nHeight; // height of cursor
char *lpszChar; // pointer to character
case WM_SETFOCUS:
// Create a solid black caret.
CreateCaret(hwnd, (HBITMAP) NULL, nWidth, nHeight);
// Adjust the caret position, in client coordinates.
SetCaretPos(x, y);
// Display the caret.
ShowCaret(hwnd);
break;
To create a caret based on a bitmap, you must specify a bitmap handle when
using
CreateCaret. You can use a graphics application to create the bitmap and a resource
compiler to add the bitmap to your application's resources. Your application can
then use the
LoadBitmap function to load the bitmap handle. For example, you could replace the
CreateCaret line in the preceding example with the following lines to create a bitmap
caret.
// Load the application-defined caret resource.
hCaret = LoadBitmap(hinst, MAKEINTRESOURCE(120));
// Create a bitmap caret.
CreateCaret(hwnd, hCaret, 0, 0);
Alternatively, you can use the
CreateBitmap or
CreateDIBitmap function to retrieve the handle of the caret bitmap. For more information
about bitmaps, see
Bitmaps.
If your application specifies a bitmap handle,
CreateCaret ignores the width and height parameters. The bitmap defines the size of the
caret.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database