vb中文本框中光标的显示方向是竖直的如何将它改为横向显示

[复制链接]
查看11 | 回复1 | 2007-1-7 17:45:56 | 显示全部楼层 |阅读模式
创建一个插入符:CreateCaret函数通常是当一个编辑类控件具有焦点后,就有插入符,在VB中对应为GotFocus事件,也就是创建插入符的时机似乎应在此事件中。插入符一般是一根短竖线,也可以是一幅位图。作用是提示文字的插入位置。声明:Declare Function CreateCaret Lib "user32"(ByVal hwnd As Long, ByVal hBitmap As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long调用如:CreateCaret Picture1.hwnd,0,2,14当创建一个插入符时,会删除该窗口原有的插入符。新创建的插入符要用SetCaretPos函数设置好位置,再用ShowCaret函数才能显示出来,参数如下:hwnd :Long,要在其中创建插入符的那个窗口的句柄 hBitmap Long,如果指定一幅位图作插入符,则为位图的句柄。如果不指定位图作插入符,则可以是0(黑色插入符)或1(灰色插入符);此时插入符可通过nWidth和nHeight参数创建。nWidth Long,插入符的宽度(采用逻辑单位),如2。nHeight Long,插入符的高度,如20。----------------------------------------指定插入符的位置:SetCaretPos函数Declare Function SetCaretPos Lib "user32" Alias "SetCaretPos" (ByVal x As Long, ByVal y As Long) As Long参数x,y为插入符在客户区坐标系统中的X,Y位置,注意是以客户区坐标为准的,例如插入符是Form1的,那么就以窗体form1的坐标系统来度量,看其ScaleMode属性指定了什么单位,如缇,象素,甚至自定义的单位长度等。调用如:SetCaretPos 100,100----------------------------------------------显示创建的插入符:ShowCaret函数要用该函数才能显示插入符,声明:Declare Function ShowCaret Lib "user32" (ByVal hwnd As Long) As Long参数简单,只要指定要显示插入符的窗口句柄即可,如:ShowCaret Picture1.hwnd.--------------------------------------------------隐藏插入符:HideCaret函数 隐藏指定窗口中的插入符,声明:Declare Function HideCaret Lib "user32" (ByVal hwnd As Long) As Long参数为要隐藏插入符的窗口句柄。调用如:HideCaret Picture1.hwnd.注:针对插入符的显示,windows维护着一个内部计数器;类似于ShowCursor函数使用的那个。所以对HideCaret 和 ShowCaret的调用必须进行一番权衡,最好成对使用。----------------------------------------------获得创建的插入符在该窗口中的位置:GetCaretPos函数声明:Declare Function GetCaretPos Lib "user32"(lpPoint As POINTAPI) As Long 参数为一个POINTAPI结构,即位置坐标的x,y值,这些值采用插入符所在窗口的客户坐标表示,不是限定为象素。调用如:Dim lxn as POINTAPIGetCaretPos lxnPrint lxn.x,lxn.y参考资料:http://boynd.muicc.com/vb/API/insert.htm本回答被提问者采纳
回复

使用道具 举报

千问 | 2007-1-7 17:45:56 | 显示全部楼层
没听说过你实在想要这样可以自己写个控件。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行