常用函数:
CreateCaret(hwnd, NULL, nWidth, nHeight)
SetCaretPos(x, y)
ShowCaret(hwnd)
HideCaret(hwnd)
DestroyCaret()
GetCaretPos(&point)
GetCaretBlinkTime()
SetCaretBlinkTime(nMSeconds)
光标使用的一些规则:
1. 如果程序中用到光标,不能简单的在处理WM_CREATE消息时调用CreateCaret,在处理WM_DESTROY消息时调用DestroyCaret。因为如果程序中有多个窗口,Windows只共享一个光标。简单的方法是,在WM_SETFOCUS中调用CreateCaret,在WM_KILLFOCUS中调用DestroyCaret。
2. CreateCaret后光标是隐藏的,必须调用ShowCaret显示光标。
3. 除了在WM_PAINT消息中,绘图时都要隐藏光标,绘完时再显示。
4. HideCaret效果是累加的,如果连续调用多次HideCaret,就要调用相同次数的ShowCaret才能显示光标