我在做一个 触摸屏查询 程序,其中有一些地方用文本框显示相关内容,而这种程序不方便让用户点击滚动条来阅读,只能做"上一页","下一页"按钮,在按钮里写代码,首先让文本框获得焦点,然后用SendKeys "{PGDN}",来实现"下一页"的功能,可是这样写光标总是在文本框里闪呀闪的,看上去很不舒服,有没有办法可将"I"字型的光标隐藏?
解决方案 »
- 如何在VB程序结束的同时打开另一个EXE文件?
- 错误信息判断!!!!
- 我有一个DBcmobo,我想清除它的下拉列表里所有内容,我该怎么办?
- winfom 多个label显示速度奇慢!!
- 问问各位大虾,编程语言最好学什么?
- 如何作一个工资核算的编译器.可以自由设定不同字段的算法关系????
- 记事本中“查找”功能是怎么做的?我怎么在一个Text控件中找到字符串,并选中?
- 怎么注册控件呀?
- 请教vb高手们,如何在VB dataEnviornment中动态加入connection对象?
- 用vb怎样实现,打开sql server数据库中的word文档,修改后存到服务器sql server中,一定加分。
- 小問題,在線放分,問解決馬上結.決不食言
- 一个功能全面的表格软件
' hwnd 为文本框的句柄, Horizontal 为水平方向卷动的行数(可为负数), Vertical为垂直方向卷动的行数(可为负数)
Function ScrollText(ByVal hwnd As Long, ByVal Horizontal As Long, ByVal Vertical As Long) As Boolean
ScrollText = SendMessageBynum(hwnd, EM_LINESCROLL, Horizontal, Vertical)
End Function
把上面的代码复制到标准模块中就可以调用ScrollText函数了。
ShowCaret VB声明
Declare Function ShowCaret Lib "user32" Alias "ShowCaret" (ByVal hwnd As Long) As Long
说明
在指定的窗口里显示插入符(光标)
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hwnd Long,包含了插入符的窗口的句柄。可以为零;此时,只有在插入符包含于由活动任务拥有的一个窗口时,它才会显示出来
注解
参考HideCaret函数
HideCaret VB声明
Declare Function HideCaret Lib "user32" Alias "HideCaret" (ByVal hwnd As Long) As Long
说明
在指定的窗口隐藏插入符(光标)
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hwnd Long,包含了插入符的窗口的句柄。可能是零;在这种情况下,只有包容了插入符的那个窗口由活动任务拥有时,插入符才会被隐藏
注解
针对插入符的显示,windows维护着一个内部计数器;类似于ShowCursor函数使用的那个。所以对HideCaret 和 ShowCaret的调用必须进行一番权衡
Private Declare Function HideCaret Lib "user32" (ByVal hwnd As Long) As LongPrivate Sub Text1_Change()
HideCaret Text1.hwnd
End SubPrivate Sub Text1_GotFocus()
HideCaret Text1.hwnd
End Sub
SendKeys的效率要低些
Private Declare Function HideCaret Lib "user32" (ByVal hwnd As Long) As LongPrivate Sub Text1_KeyDown()
DoEvents
HideCaret Text1.hwnd
End SubPrivate Sub Text1_GotFocus()
DoEvents
HideCaret Text1.hwnd
End Sub