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

文本框中光标位置的获得-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下运行通过。

艾格拉斯副总裁王晓波:手游定价如何设计 Xcode 6 Beta 7发布:语法定、内库改,Swift何时完善? 干货来袭:由22个联邦机构分享的6482个数据集 Phablet出货量今年将超移动PC,明年再超平板 如何提高Web服务端并发效率的异步编程技术? 改改改!让应用通过审核出人头地的10个方法 正益无线CEO王国春:AppCan如何获得50万开发者青睐 在收购Xtreme Labs之后,Pivotal推出PaaS移动服务 .NET开发者必备的11款免费工具 .NET开发不可错过的25款高效工具 Docker最佳实践!尽在2014 Container技术大会 pflua:用Lua编写的高性能网络包过滤工具箱 掌上明珠张磊:如何设计手游付费体系 云游科技何千军:游戏开发和后端逻辑经验 《近匠》Highway1:孵化,不只是简单的帮助 嘉宾来了 MDCC 2014首批演讲嘉宾名单公布 前雅虎CTO:Hadoop扩展过程中的7个危险信号 【云先锋】星环TDH:性能大幅领先于开源Hadoop2的技术架构赏析 一周消息树:我想创业,但不懂技术怎么办? GitHub迁移数据库,借助MySQL大行其道! 实例亲授:教你如何创建AR应用 iOS七年,苹果都为开发者准备了哪些工具? TIOBE 2014年9月编程语言排行榜:Java、C++跌至历史最低点 如何甄别具有软实力的IT应聘者? 避免关注底层硬件,Nvidia将机器学习与GPU绑定 盘点MIT Demo Day上4个最有前途的创业点子 IDF 2014第一天纵览:智能设备唱主角 时尚化才是可穿戴的未来 ASP.NET之父Scott Guthrie:借技术之力铺平未来之路 两年测试,NSA或将让其数据中心洗上油浴 【云先锋】数云:另类淘宝创业,瞄准背后百万卖家的数据挖掘 Xcode 6 GM、6.1齐出,Swift终迎1.0版! 如何在在桌面上单击右键弹出的快捷菜单中加入一个项目"启动我的电脑"? 想买一款显示器,不知道是三星好还是PHILIPS好!请大家帮我选择选择!(低档纯屏,<1600元(50分) 在win98下配置tomcat的问题? 什么样的主板需要安VIA 4 IN 1?? gicq玩家的间题 请taglis2002来借分。 急!Edit中输入日期的问题 急!DBGrid的栅格问题 为啥Oracle中还有近5G的表空间,当插入某表时却提示要增加数据文件,而别插入别的表却没问题(送分的) 有关中文显示的问题 谁用过CSTreeBean,有问题请教 VB里是不是没有从一个字符串中选出数字的函数? 一个关于高位低位的问题 请问用Dbexpress如何生成一个临时表 经典的“HELLO WORLD” 错在哪里? 有人在我的机器上安装了特洛依木马程序,我删不掉,怎么办啊??? 20 分:help me!!!!!!!!!! 我可以报考高程吗? 请问北京的pb程序员们,一般大家是怎么联系新工作的?上网?参加招聘会? 如何能动态地将dbf文件转为mdb文件格式? 从Sybase Sql Anywhere移植到Oracle有什么注意的事项? 一个关于mfc的疑惑 沙尘暴的原因。 win proxy的设置问题 北京和租房 如何安装JiveSofeWare下的CVS 初学者 奇怪的问题:水晶报表? 受不了了,居然能在资源管理器里面实现Flash动画预览 怎样把SQL Server中的数据库导出成*.sql文件? 如何向listctrl中添加一个控件? 关于读取文本文件中字符串的问题 怎样判断编辑框里面的内容是数字还是字母?相当急! 为什么那么多的帖子都找不到了啊!!!怎么回事!! 明知不可为,坚持不屑 是傻 或 痴 ,还是有毅力 我的这个发送邮件功能不能用吗。请看? 关于SQL2000的日期的显示问题! <<<<行者兄请赏笑话 prog_st(st) 接分: 给哥们帮大忙了. 鼠标的点击范围 Object类型不包括Value属性么?为什么我的程序会出错? MSHFlexGrid的数据显示问题.(泰山,巴顿你们谁会啊?) 用VC编译Perl 源程序的详细步骤? <<<<行者兄请看笑话 一下却提示newwnd.mydiv对象找不到,搞不懂,为什么啊! MSHFlexGrid的数据显示问题.(泰山,巴顿你们谁会啊?) <<<<<行者兄请看最后一个笑话 [转载]一篇让语文老师看了抓狂的文章! 四则新闻 急急:关于 Strconv( )****** 一下却提示newwnd.mydiv对象找不到,搞不懂,为什么啊! 规模经济和范围经济的概念有什么区别?请举例对这两个概念加以说明. “电子电荷量的大小是最小的.” “人们把最小电荷叫做元电荷.” 那么是不是电子的电荷量就是元电荷呢 金属性,非金属性,为什么?1、元素的金属性可以通过置换水中或酸中的氢的难易程度或最高价氧化物对应的水化物的碱性强弱来判断;为什么和置换氢有关?为什么和最高价氧化物对应的水化 当有2C电荷量通过某电阻丝时,电功为12J,若在相同的时间内有4C的电荷量通过该电阻丝,则此时电阻丝两端的电压是多少?通过4C电荷量过程中电功多大? 1 .元电荷是最小的电荷量单位吗?那夸克呢?2.当一种电荷出现时 必然有等量的异种电荷出现 当一种电荷消失时 必然有等量的异种电荷消失.这句话对吗?为什么3.一个4He所带电荷量是多少库仑?2 布里渊区边界方程:n*(k-n/2a)=0的几何意义和物理意义 通过某电阻丝的电流变为原来的1\2,若不考虑温度对电阻大小的影响,则电阻丝的电阻将?A不变,B变为原来一半,C变为原来2倍,D无法确定 元电荷是带电荷量最小的带电粒子?为什么错? 第七英语 已知两异种电荷,距离为R,在一匀强电场作用下,处于平衡,求场强如何判断匀强电场方向 电荷在电场中某点的电势能等于____________________ 英语第七道? Q是产生电场的电荷,r是场强为E的点到Q的距离是什么意思? 二极管和三极管要作用上的区别是什么?三极管三个脚在连接上是怎么区分的? 英语翻译 金属性和非金属性与得失电子有什么联系? 在匀强电场中,将一电荷量为2乘以10的负五次方C的负电荷由A点移到B点,其电势能增加了0.1J,已知AB两点距离为2厘米,两点连线与电场方向成60度角,问:在电荷A移到B的过程中,电场力做了多少功 英语书第7页 在A点放一带电量为Q的正点电荷,求其形成的电场中某点P的场强大小和方向,已知距离为r 在匀强电场中,将一电荷量为2×10^-5C的负电荷由A点移到B点,其电势能增加了0.1J,已知AB两点间距离为2cm,两点连线与电场方向成60度角,该匀强电场的电场强度E为多大 英语第七题 还原性,氧化性,金属性,非金属性与得失电子的关系? 如图所示在匀强电场中将一电荷量为2×10-5C的负电荷由A点移到B点,其电势能增加了0.1J,已知AB两点间距离为2cm,两点连线与电场方向成600角,如图示.求(1)在电荷由A移到B的过程中,电场力做了多 倒摄抑制心理学知识 比较边际收益递减和规模报酬递减的差异?运用西方经济学原理 将一电量q等于五乘于十的负八次方的正电荷从电场中的A移到B点、真电荷的电势能增加了二乘五十的负六次方焦 什么是点动控制 A.生产要素的边际技术替代率递减是规模报酬递减规律造成的 这句话对吗 恒常收入名词解释 政府控制房名词解释名词解释 【物理】正电荷形成的电场中,负电荷是沿场强方向运动,还是沿场强方向的反方向运动?如果是负电荷形成的电场,负电荷的运动方向是不是相反? 电荷量是指( )单位( ) 每一主族从上到下,金属性逐渐增强,非金属性逐渐减弱,这句话对的?,最外层电子数不是不变吗? 组成二极管的PN结具有单向_性.三极管有_型和_型. 收益性支出工商企业会计 的 为什么最外层电子数越少其元素金属性越强?谢谢~~~ 还有那个什么原子序数越大原子半径越小? 谢谢~ PN结的反向击穿电压是多少?二极管三极管和稳压管是否一样呢? 简单滑动平均法某公司按周记录正义的周销量周次 1 2 3 4 5 6 7 8 9 10 销售量 4232 4560 4321 4612 4624 4589 4633 4627 4668 4671试选择合适的移动步长,用简单滑动平均预测方法推算第十一周的销量. 石墨烯的光学性质有没有人知道相关文献啊?石墨烯计算的相关性质,有没有实验和计算的相关文献提供哦? 区分边际报酬递增、不变和递减的情况与规模报酬递增、不变和递减的情况 何谓“滑动平均”? 石墨烯概念股一览 涉足石墨烯的上市公司有哪些 u=Ed中,d是指沿电场线方向距离,还是沿场强方向距离?电场力方向不一定在电场线上.如果电场线是直线,这种说法才是对的啊.那算题的时候按什么来算呢? 金属性越强越容易失去电子吗?非金属性越强,越容易得电子吗?如果以上成立的话,能否说成越容易失去电子,金属性越强 越容易得电子,非金属性越强 话说最近石墨烯那么火,为嘛没人用石墨烯的触摸屏?同上提问. 【物理】为什么电势沿着场强方向降低最快?.U=Ed.这个d是沿电场线方向距离,所以无论oa,o无论oa,ob,oc,od,oe他们距离都应该相等,所以降低快慢也相等啊,为什么是oc最快呢? 请问什么是滑动平均?它是怎么计算的? 网络名词解释.LS是啥意思?LZ是楼主吧. 半导体二极管具有什么性质?半导体三极管可以用来干什么? 金属性与非金属性哪个是失电子能力 非金属性最强的是什么元素?金属性最强的是什么元素?判断金属性和非金属性强弱的具体标准是什么? 半导体二极管三极管 怎样做数据的滑动平均滑动平均中的系数是怎么确定的?请高人指点非常感谢 zk1275722756朋友的热心帮助 可以从哪些方面比较元素的金属性?可以从哪些方面比较元素的非金属性? 元电荷是最小的电荷量单位电荷量的单位不是库仑吗 怎么是元电荷 只有金属才易失去电子?只有非金属才易得到电子么?氧化性就是非金属性?还原性就是金属性么? 元素的金属性、非金属性到底指什么? 元电荷是最小的电荷量单位这句话对吗 滑动平均法用什么程序 什么是元素的金属性?什么又是元素的非金属性?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘