📄 040110.htm
字号:
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>vb study</title>
<style>
<!--
td {font-size: 9pt}
A:link {text-decoration: none; color: #0033cc;font-size: 9pt}
A:visited {text-decoration: none; color: #0066CC;font-size: 9pt}
A:active {text-decoration: none; color: #ff0000; font-size: 9pt}
A:hover {text-decoration: underline; color: #000000;font-size: 9pt}
-->
</style>
</head>
<body>
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" width="98%">
<tr>
<td width="100%"><a href="#">你的位置</a>:<a href="http://www.xxby.com" target="_blank">华生小屋</a>--<a href="#">VB学习</a>--<a href="#">API函数</a></td>
</tr>
<tr>
<td width="100%">
<p align="center">插入符函数</td>
</tr>
<tr>
<td width="100%"><br>
创建一个插入符:CreateCaret函数<br>
通常是当一个编辑类控件具有焦点后,就有插入符,在VB中对应为GotFocus事件,也就是创建插入符的时机似乎应在此事件中。插入符一般是一根短竖线,也可以是一幅位图。作用是提示文字的插入位置。声明:<br>
Declare Function CreateCaret Lib "user32"(ByVal hwnd As Long, ByVal hBitmap As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long<br>
调用如:<br>
CreateCaret Picture1.hwnd,0,2,14<br>
当创建一个插入符时,会删除该窗口原有的插入符。新创建的插入符要用SetCaretPos函数设置好位置,再用ShowCaret函数才能显示出来,参数如下:<br>
hwnd :Long,要在其中创建插入符的那个窗口的句柄 <br>
hBitmap Long,如果指定一幅位图作插入符,则为位图的句柄。如果不指定位图作插入符,则可以是0(黑色插入符)或1(灰色插入符);此时插入符可通过nWidth和nHeight参数创建。<br>
nWidth Long,插入符的宽度(采用逻辑单位),如2。<br>
nHeight Long,插入符的高度,如20。<br>
----------------------------------------<br>
指定插入符的位置:SetCaretPos函数<br>
Declare Function SetCaretPos Lib "user32" Alias "SetCaretPos" (ByVal x As Long, ByVal y As Long) As Long<br>
参数x,y为插入符在客户区坐标系统中的X,Y位置,注意是以客户区坐标为准的,例如插入符是Form1的,那么就以窗体form1的坐标系统来度量,看其ScaleMode属性指定了什么单位,如缇,象素,甚至自定义的单位长度等。调用如:<br>
SetCaretPos 100,100<br>
----------------------------------------------<br>
显示创建的插入符:ShowCaret函数<br>
要用该函数才能显示插入符,声明:<br>
Declare Function ShowCaret Lib "user32" (ByVal hwnd As Long) As Long<br>
参数简单,只要指定要显示插入符的窗口句柄即可,如:ShowCaret Picture1.hwnd.<br>
--------------------------------------------------<br>
隐藏插入符:HideCaret函数 <br>
隐藏指定窗口中的插入符,声明:<br>
Declare Function HideCaret Lib "user32" (ByVal hwnd As Long) As Long<br>
参数为要隐藏插入符的窗口句柄。调用如:HideCaret Picture1.hwnd.<br>
注:针对插入符的显示,windows维护着一个内部计数器;类似于ShowCursor函数使用的那个。所以对HideCaret 和 ShowCaret的调用必须进行一番权衡,最好成对使用。<br>
----------------------------------------------<br>
获得创建的插入符在该窗口中的位置:GetCaretPos函数<br>
声明:<br>
Declare Function GetCaretPos Lib "user32"(lpPoint As POINTAPI) As Long <br>
参数为一个POINTAPI结构,即位置坐标的x,y值,这些值采用插入符所在窗口的客户坐标表示,不是限定为象素。调用如:<br>
Dim lxn as POINTAPI<br>
GetCaretPos lxn<br>
Print lxn.x,lxn.y
<p align="center">
<br>
< <a href="040109.htm">上一页</a>--<a href="http://www.xxby.com" target="_blank">华生小屋</a>--<a href="040111.htm">下一页</a>
><br>
</td>
</tr>
</table>
</center>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -