• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

VB中算出TextBox中目前光标位置

发布: 2007-6-21 21:57 | 作者:   | 来源:   | 查看: 135次 | 进入软件测试论坛讨论

领测软件测试网

   

在很多文字编辑器中,都可以告诉您,目前您的光标是在文字编辑器的第几行,我们也来实作一下!

在 form 中放入一个 textbox 并将 multiline 属性设为 true,放入一个 label 用来显示目前光标所在的行数,在表单声明区中加入以下声明及模组:

private declare function sendmessagelong lib "user32" alias "sendmessagea" _
(byval hwnd as long, _
byval wmsg as long, _
byval wparam as long, _
byval lparam as long) as long

const em_linefromchar = &hc9

function lineno(txthwnd as long) as long
on local error resume next
lineno = sendmessagelong(txthwnd, em_linefromchar, -1&, 0&) + 1
lineno = format$(lineno, "##,###")
end function

′呼叫这个模组时要导入的是 textbox 的 hwnd
′实际使用时,必须在 textbox 的以下几个事件中呼叫这个模组,才会完全正确:
′1. change事件:输入资料时可侦测计算
′2. click 事件:用鼠标移动光标时可侦测计算
′3. keyup 事件:用上下左右键移动光标时可侦测计算

sub text1_change()
label1 = lineno(text1.hwnd)
end sub

private sub text1_click()
label1 = lineno(text1.hwnd)
end sub

private sub text1_keyup(keycode as integer, shift as integer)
label1 = lineno(text1.hwnd)
end sub

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网