您的位置:寻梦网首页编程乐园VB 编程VB API 指南
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