首页 VB实现鼠标取词(程序实例说明)

VB实现鼠标取词(程序实例说明)

举报
开通vip

VB实现鼠标取词(程序实例说明)VB实现鼠标取词(程序实例说明) VB实现鼠标取词(程序实例说明) 在有些软件里当鼠标移到某单词上,其注释就会显示单词的中文解释.这样的软件是如何制作 的呢?下面我就介绍以下获取鼠标所在单词的方法,至于中文结实要关系到数据库及字库问题 在此我不做解释. 首先建立新工程,在FORM上添加一个TEXT文本框. 声明SendMessage函数. Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ...

VB实现鼠标取词(程序实例说明)
VB实现鼠标取词(程序实例说明) VB实现鼠标取词(程序实例说明) 在有些软件里当鼠标移到某单词上,其注释就会显示单词的中文解释.这样的软件是如何制作 的呢?下面我就介绍以下获取鼠标所在单词的方法,至于中文结实要关系到数据库及字库问题 在此我不做解释. 首先建立新工程,在FORM上添加一个TEXT文本框. 声明SendMessage函数. Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Const EM_CHARFORMPOS=&HD7注释:在API浏览器里无此值请自己加上. 自定义过程: Private Sub Text1_MouseDown(Button As Intege,Shift As Integer,x As Single, y As Single) 注释:获取鼠标所点的是第几行第几个字符 Dim pos As Long,Lc As Long Dim Line As Integer,CharPos As Integer x=x/Screen.TwipsPerPixelX y=y/Screen.TwipsperPixelY pos=x+y*65536 Lc=SendMessage(Text1.hwnd,EM_CHARFROMPOS,0,ByVal pos) Line=Lc\65536 注释:第几行 CharPos=Lc MOD 65536 注释:第几个字符 End Sub 注释:接下来才是真正的读取函数 Function GetWord(txt As TextBox,pos As Integer) As String Dim bArr()As Byte,pos1 As Integer,pos2 As Integer, i As Integer bArr=StrConv(txt.Text,vbFromUnicode)注释:转换成Byte数组 pos1=0:pos2=UBound(bArr) 注释:向前搜索分格符的位置 For i=pos-1 To 0 Step -1 If IsDelimiter(bArr(i)) Then pos1=i+1 Exit For End If Next 注释:向后搜寻分隔符字符的位置 For i=pos To UBound(bArr) If IsDelimiter(bArr(i)) Then pos2=i-1 Exit For End If Next 注释:截取pos1-pos2之间的字符,以构成一个单词 If pos2>pos1 Then ReDim bArr2(pos2-pos1) As Byte For i=pos1 To Pos2 bArr2(i-pos1)=bArr(i) Next GetWord=StrConv(bArr2,vbUnicode) Else GetWord="" End If End Function 注释:IsDelimiter函数 Functon IsDelimiter(ByVal Char As Byte) As Boolean Dim S As String S=Chr(Char) IsDelimiter=False If S=" " Or S="," Or S="." Or S="?" Or S="vbCr" Or S="vbLf" Then IsDelimiter=True End If End Function
本文档为【VB实现鼠标取词(程序实例说明)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_215732
暂无简介~
格式:doc
大小:14KB
软件:Word
页数:3
分类:互联网
上传时间:2017-09-27
浏览量:72