说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

文本框中光标位置的获得-VB资料

HTML文档下载 WORD文档下载 PDF文档下载
文本框中光标位置的获得-VB资料
作者:陈锐
在很多的编辑软件中有这样一个功能,即当用户在编辑区中输入字符或者按动鼠标使得光标的位置改变时,在编辑软件下方的状态栏中就能显示出光标所在位置的行和列的值。下面就介绍如何用VB编程实现在文本框中的这一功能。
  首先,在Form中添加一个文本框(TextBox),将其MultiLine属性设置为True,以便输入多行文本;再在Form中添加两个标题栏(Label),以便显示光标位置;然后,在Form的代码窗口中添加程序中的代码。

Option Explici
Const EM_GETSEL = &HB0
Const EM_LINEFROMCHAR = &HC9
Const EM_LINEINDEX = &HBB

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Public Sub GetCaretPos(ByVal TextHwnd As Long, LineNo As Long, ColNo As Long)

Dim I As Long, j As Long
Dim lParam As Long, wParam As Long
Dim k As Long

'首先向文本框传递EM_GETSEL消息以获取从起始位置到
'光标所在位置的字符数

I = SendMessage(TextHwnd, EM_GETSEL, wParam, lParam)
j = I / 2 ^ 16

'再向文本框传递EM_LINEFROMCHAR消息根据获得的字符
'数确定光标以获取所在行数

LineNo = SendMessage(TextHwnd, EM_LINEFROMCHAR, j, 0)
LineNo = LineNo + 1

'向文本框传递EM_LINEINDEX消息以获取所在列数

k = SendMessage(TextHwnd, EM_LINEINDEX, -1, 0)
ColNo = j - k + 1
End Sub

Private Sub Form_Load()
Dim LineNo As Long, ColNo As Long

Call GetCaretPos(Text1.hwnd, LineNo, ColNo)
Label1.Caption = LineNo
Label2.Caption = ColNo
End Sub

Private Sub Form_Resize()
Text1.Width = Me.ScaleWidth
End Sub

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
Dim LineNo As Long, ColNo As Long

Call GetCaretPos(Text1.hwnd, LineNo, ColNo)
Label1.Caption = LineNo
Label2.Caption = ColNo
End Sub

Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim LineNo As Long, ColNo As Long

Call GetCaretPos(Text1.hwnd, LineNo, ColNo)
Label1.Caption = LineNo
Label2.Caption = ColNo
End Sub

(程序)

  运行上面的程序,在TextBox中输入字符或者按控制键来移动光标时,你可以看到屏幕下面的Label中就能显示出的光标所在的位置。以上程序在Win 95,VB 5.0下运行通过。

同行代码审查实战分析 在Swift中使用JavaScript的方法和技巧 增强用户体验 让网站和APP更具动感的几点建议 《近匠》蒲公英:一站式免费应用内测平台 用Swift开发iOS 8新应用:斯坦福免费课程上线iTunes U Swift开发必备技巧:static和class的使用 你可能没听过的11个Python库 移动Web技术的春天来了?Facebook发布React Native,用JavaScript开发移动原生应用 开发不易!2015年移动应用开发趋势总结 .NET开发者必备的工具箱 热情不减!七款Swift应用开源项目推荐 如何给苹果提交Bug或功能需求? 深入钻研Augular两年 谈谈其究竟适用于哪些场合 唐巧:谈谈React Native 在Swift中,如何更优雅地处理网络返回数据? Spark生态系统解析及基于Redis的开源分布式服务Codis 阿里巴巴技术专家杨晓明:基于Hadoop技术进行地理空间分析 Bowery为什么放弃Node.js,转向Go? 《近匠》有了APM,用户快到碗里来——专访听云CTO Wood 联通WO+梦工厂唐敏:走进厦门 构建移动数字生态 HTML5 VS 原生,世界究竟是谁的? 完全开放 微软开源.NET Core的执行引擎CoreCLR Swift与Objective-C的兼容“黑魔法”:@objc和Dynamic 网络技术,从“数制”开始学起——跟随王达老师一步步学习 UPYUN CTO黄慧攀:UPYUN这些年,一段“刚好”的旅程 2015移动游戏重中之重:需成功把握1%付费用户的心 UNITE 2015 BEIJING 20大议题首爆 死路一条?智能硬件免费没有未来 APICloud推出“模块 Store” 公布APP创业 “Time to Market”战略 极路由加入海尔U+联盟 可跨品牌控制多款家居设备 《近匠》Amaze UI:做最懂中国程序员的开源HTML5框架 各位,有没有好点的免费空间啊??最好是ftp的! 如何让ADOTable的当前记录再从数据表刷新一下? 在D6中如何动态建立ACCESS的数据库,以及在库中添加表??下面一段代码建立的表在ACCESS中打不开,为何,显示格式不对??????求教, 明年首次扩招的大学生就要毕业了!我们找工作越来越难了! 關於ISampleGrabber的問題 为什么我的更新方法总不行?说是要有正确的command.look the followed code 有关页面传递变量!! 怎么更改图标? 使用asp显示柱状图 关于PDA中JAVA的编程 50分,一个5分钟就能解决的问题! 今日看到一篇文章,随便问问,希望有兴趣的高手过来指点指点!初学也进来讨论一下! Foxpro怎樣調用Winzip等壓縮軟件,有誰知道?請賜教! 关于窗体验证的问题,谁能帮我出一个更好的解决方案? 别不告诉我呀,给分大大地! 如何用ISA控制用户的上网流量 請問在VBScript過程中能用session 紧急求助:VC.NET怎么导入资源文件。(高分) 如何连接.dbf的数据库(dBase). 下拉菜单问题 请问如果一个控件没有hwnd,怎样才能拿到它的hwnd?急! 简单问题 请问如果一个控件没有hwnd,怎样才能拿到它的hwnd?急! 请问如果一个控件没有hwnd,怎样才能拿到它的hwnd?急! 在设计ActiveX控件时,怎么得到该控件的HWND 请问浮点型的数据如何设置使它以科学计数法表示? 高分求教:VPOP3的使用方法? 500分求解:windows编程。 请教高手,关于用TCP/IP检测网络状态 一个关于注册 ODBC 的问题,请教高手 控件得到焦点时有OnActive事件,那失去焦点时是什么事件 哎,不知做什么软件才能赚钱? 请教跨域访问的问题! 请高手帮忙!一定给分! 怎样编程实现在ListBox里显示数据库表中一个列?(绝对放分) 那位有《101规约》给我一份,我实在不知道该到哪里去找!!!(50分求助) 关于对话框制作 关于例外 给Cisco认证提点建议!给分===== [求教]XML文档的参数中如有&符号如何处理。 [求教]XML文档的参数中如有&符号如何处理。 谁能给我提供免费防刷新的计数器代码……在线等待 请问出现下列错误,如何解决!(怎样察看每个OLE DB状态值) 会话状态设置中的SQLServer 模式如何应用? BUG!版主管理里的专题管理 session 没设置正确,请蝈蝈看看 有朋友问我学习C语言初中学历能学会吗? 大家帮个忙,很简单的问题,快呀,关于数据库的问题 请问vb怎么打开Access2000的数据库? 计算机并行口原理是什么 我在前台的程序中对text1.text=rs!number,为何text1.text的值还是空值,想不通??? GetSafeHdc() 的含义及用法 I think she knows something about it否定是anything还是something啊 带有 乐 字的古诗,名言有哪些?快,急—— 雷迪嘎嘎是什么意思 谁有科比if you want it耐克广告的全部词(英文) 2006年8月27日凌晨00:30会有两个月亮出现在天空是不是真的啊 拼成棱长一分米的正方形.需要一立方厘米几块,拼成正方体的表面积是几平方厘米. 请问从1、2、3、4、...、2008这2008 个正整数中请问从1,2,3,…2008这2008个正整数中至少可以取出多少个数,使得取出的数中任两数之和不能被除数这两个数之差整除? 06年8月27号凌晨00:30天上有两个月亮!这是真的吗?06年8月27号凌晨00:30天上有两个月亮!8月27日凌晨00:30天空将出现二个"月亮"请记下这一天并且不要错过这次难得的机会.从八月份开始,火星将会 Linda knows something about china,because she has been to china ___.A,twiceB,for a second timeC,two timesD,a second time,选哪个,为什么,主要是A和C -How much does it cost to build the school library?-Four_______yuan.A.million B.millions C.million of D.millions of选哪个? She plays the guitar well.(改为同义句)She___ ___ ___ playing the guitar. 把一个棱长是3分米的正方形切成棱长是一分米的小正方体表面积增加了多少平方分米 8.27天空出现两个月亮是真的吗是真的假的,最好说明理由 cry fly y的发音一样吗.queen quit q的发音一样吗.bag cake a的发音一样么.pink bike i的发音一样吗girl bird i的发音一样么 有10个棱长是1分米的正方形去诺干个拼成较大的正方体拼成德正方体的表面积是(  )体积(  ) 2006年8月27日00:30是否天空出现两个月亮 1、laugh和high读音是否相同?2、queen和quit发音相同吗?3、when和white发音相不相同 谁能给我关于小皇帝詹姆斯的英文介绍最好是关于他的篮球生涯还有进入NBA之前的一些内容 英语翻译I fed the bears and crocodiles翻译ask[变形容词] 读音是否相同:1.A.try B.fly C.cry( ) 3.A.cryB.fly C.twenty( ) 2.A.queen B.quiet C.quit( )还有一题 4.A.night B.flight C.high( 英语四级两次就差几分,但是听力只有115到120,想提高听力.听新概念2行不? what must she get at the greengrocer"s?thanks``` 8月27号晚上,0:30将可以看到两个月亮是真的假的 新概念英语听力!新概念第一册听力!第75课至第90课!新概念英语听力!我急需新概念英语第一册 第75课 至 第 90课 的听力,音质一定要好!我要放入MP3中听的!有新概念第一册听力光盘的热心网友, She's trying to get off the bus.的意思 Your sister knows little about it, doesn't she这句话哪错了 if your mother knows about it ,she will reprimand you改为时间状语从句 若一直角三角形的三条边是三个连续整数,求三角形三边长? 2010年8月27日凌晨00:30真的可以看见两个月亮?那天火星看起来是否会和月亮一样大呢? 如果真的话,那观看有没有地理限制呢? 00:30是27号凌晨,还是次日凌晨呢? 这种景观是多少年一次呢? 谢谢 Don't worry about your mother .I think she can get here by h____. queen中文啥啥意思? She knows little about you,( )( 填空 How about you?What a great party!She's my mother's sister.Let's play badminton.中文意思 queen的中文意思是什么? John's aunt has____ (never/ever) watched this TV programme,so she doesn't know anything about it. 以楼为题的古诗现在就要!kkkkkkkkkkkkkkkkkkkkkkkkkkkk take/bring sth with sb. 分别造句 配中英文take/bring sth. withe sb.造句(中英文对照)急! 8月27号晚上 你将看到两个月亮是真的吗 诗题中带有具体楼名的诗题三首 take/bring sth.withe sb. She and her mother _ the same(_上填A.lookB.look atC.are D.is急用啊 nice to meet you!用英文怎么回答? 英文中的缩写与不缩写有没有什么区别?比方说I have与I've在书信之类的上面有没有什么礼仪啊文化啊之类的区别谢谢 She and ______ mother _______ the same.第二个空写look,look at ,are ,is中的哪一个? 提高高中英语听力看新概念的第几册比较好?提高英语 ,不是指英语听力 look at the () is Jim's mother A.She B.Her C.He D.His She ______(read) more than ten magazines about UFOs. 34.The children expect __ the pandas they saw in the zoo last week .A see B seeing C saw D to see 请翻译句子和选项并加以说明原因 含有"乐"的诗句 She said,'Don't talk about it any more.'(改为同义句)She told us _____ _____ talk about it any more Jiangsu is ___the east of China,but Japan is ___the east of China.填介词. 带有 子乐 的诗词戏词也行,越多越好,满意的加分 英语翻译答案写what to do 或 how to do it,为什么?为什么what to do 不用加it how to do 就要? Queen翻译成中文是什么意思? 英语阅读理解和完形该怎样改错?我的英语阅读能力很差,几乎每次都是只对一半,错题是相当的多,而且读完了也不知道那篇文章是说什么的,这该怎样改错?把所有的都改了?怎么改? 雷迪 嘎嘎的英文名是啥? 24.Japan is ________ the east of China.  A.inB.toC.onD.at选什么?选的这个是固定搭配吗? 急!含有笑或乐的古诗词要豪放一点且一定要包含! RT我感觉这个好像不仅仅是说一个歌手的名字,是不是还有别的意思
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘