第一范文网 - 专业文章范例文档资料分享平台

BarTender ActiveX 在Delphi和VB下调用数据库的实例

来源:用户分享 时间:2026/1/1 6:49:03 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

Private Sub Text1_Click() GetCurPos Text1 End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer) GetCurPos Text1 End Sub

在运行程序前,确保在你的硬盘上有 c:\\windows\\readme.txt 这个文件。否则程序会出错。然后运行程序。当在编辑文本时,可以看到在窗口底部可以显示当前光标所在的行、列值。在上面的程序中。我们首先发送EM_LINEINDEX消息,发送该消息可以返回某一行的第一个字符在整个文本控件中的位置,如果wParam参数设置为-1,则返回当前行的字符位置。然后发送EM_LINEFROMCHAR,发送该消息可以根据参数wParam指定的字符位置返回该字符所在的行号,文本第一行的位置为0。这样使用这两个消息就获得当前光标所在的行号。要取得列号,首先发送EM_GETSEL消息,发送该消息返回当前被选中文本的起始位置,如果没有文本被选中,则返回当前光标所在字符在文本中的位置。由于上面的

EM_LINEINDEX消息返回的是当前行的第一个字符在文本中的位置。所以将两值相减,就是光标所在字符的列位置。在上面的程序中,如果你的文本中有中文字符的话,当你的光标在中文字符中移动一个位置,你会看到标签中的列位置增加了2,这是由于SendMessage发送的消息所得到的结果是不支持中文的,它将一个中文字算做两个字符。这也算是程序中的一个Bug吧(这也就是为什么我要使用EM_GETSEL消息而不直接使用TextBox控件的SelStart属性来获取光标所在字符位置了,因为如果使用SelStart返回的值将一个中文算一个字符,同EM_LINEINDEX返回值相减有可能得到负值).

搜索更多关于: BarTender ActiveX 在Delphi和VB下调 的文档
BarTender ActiveX 在Delphi和VB下调用数据库的实例.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6kpil0z7hi9kcek7h0tx_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top