CreateCaret

VB声明
Declare Function CreateCaret Lib "user32" Alias "CreateCaret" (ByVal hwnd As Long, ByVal hBitmap As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
说明
根据指定的信息创建一个插入符（光标），并将它选定为指定窗口的默认插入符。插入符可以是一根短线、一个方块或者一幅位图。通常用插入符指示文字在文字框中的插入位置
返回值
Long，非零表示成功，零表示失败。会设置GetLastError
参数表
参数 | 类型及说明
hwnd | Long，拥有插入符的那个窗口的句柄
hBitmap | Long，用作插入符的一幅位图的句柄。可以是0或1；在这种情况下，插入符可通过nWidth和nHeight参数创建。如设为1，则新插入符以灰色显示；而不是传统的黑色
nWidth | Long，采用逻辑单位的插入符的宽度
nHeight | Long，采用逻辑单位的插入符的高度
注解
如创建一个插入符，会同时清除原先的插入符；效果等同于DestroyCaret函数。在vb的LostFocus事件期间，不要试图用DestroyCaret函数清除一个插入符。这是由于vb的LostFocus事件不会接收DestroyCaret直到另一个窗口已经有焦点。因此，倘若在那个时候调用DestroyCaret，会破坏其他窗口的插入符。如果准备自己管理插入符，可以（而且应该）在WM_KILLFOCUS消息期间清除插入符
在vb里使用
可以使用。但在应用程序切换时，标准的vb文本控件不能处理GotFocus 和 LostFocus事件。因此，很难知道何时为一个控件设置插入符。此外，vb假设插入符为一根短竖线，并据此定义它的位置，所以其他形式的插入符可能无法正确定位

Top