发信人: cobe()
整理人: winsy(2003-03-05 16:32:51), 站内信件
|
以下抄自《电脑商情报》1999.9.24
作者:山东 唐成斌
现在的电子辞典软件如金山词霸都有屏幕单词识别功能,
及鼠标指向哪个单词立即将汉语意思提示出来.对于这种屏幕单词识别技术,本以 为很高深
,因为无论采用的字体是大还是小都可以识别.笔者经过查阅资料后发现,其实这种 技术是很容易实
现的,先面举例说明实现方法:要识别屏幕单词,首先想到的应该是如何确定当前鼠 标所至字母所在
单词的前、后位置,也就是说从这个字母往前要找到单词的开头,向后要找到这 个单词的末尾。那
么鼠标指向字母的位置如何确定?只有确定这个字母的位置才能向前或向后找到 头和尾。WINDOWS
中有一个EM-CHARFROMPOS消息,通过向控件发送这个消息可以获得当前光标所在 的字母在编辑控件
中的位置(从0开始计数)。有了这个位置,那么向前或向后逐个位置移动,然后 判断当前位置所
在的字母是否是字母和数字(0-9,A-Z,a-z),如果是说明还没有找到单词头部 或尾部,这里之
所以包含数字是因为当前有些事成不上单词的单词,如VB5等,虽不是单词,大家 都认识,当然你
也可以控制只能为字母。碰到不符合条件的字符,如空格、逗号等说明到了单词 的头部或尾部,那
么这两个位置之间的字符串就是鼠标所指的完整单词。这种方法不用考虑字体大 小,因
为EM-CHARFROMPOS消息获得的位置与字体大小无关。
例子略……
-- ------------- 学VB,到VB小世界看?BR>http://vbsworld.yeah.net icq:3251926 cobe
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.99.13.147]
|
|