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

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

最危险的开源项目——比特币 11月20日:微软正式发布Windows 1.0 回顾历代Windows版本界面 微软CEO鲍尔默卸职前在股东会上的最后演讲 微软改革员工排名制度或将开启新篇章 【快讯】SAP联合中国电信,又一外商公有云曲线入华 微软CloudOS云操作系统构建企业级三云合一 IE11支持JavaScript新型API,Web应用国际化更便捷 谷歌推订阅应用Play Newsstand:杂志+RSS阅读器 【信息图】到2020年开发者、设计师、测试员的数量将达到史无前例的高度 推广与盈利专题论坛:中国影响世界,世界定义中国 SlideIdea CEO李建忠:移动产品的技术面思考 BDTC→→百度林仕鼎、腾讯蒋杰、阿里唐洪论道大数据平台与技术 谷歌首席互联网布道师:隐私保护并不是一种正常行为 微软公开“挑衅”谷歌,出售反谷歌标语T恤 四大UX设计原则,打造网站最佳浏览体验 【BDTC讲师】黄晓庆:从小灵通到Hadoop与实时大数据分析 【BDTC讲师】杨强:从禽流感预测到图片语义解释 2013中国大数据技术大会讲师议题正式发布 “2013中国大数据周”即将开幕 正式发布中国大数据现状白皮书 搜狐畅游发布3D游戏引擎Genesis-3D 基于MIT协议开源 传闻微软将收购AOL旗下的Winamp和Shoutcast 【BDTC讲师】大数据时代“掘金机”:百度、360、一淘搜索技术分享 谷歌董事长:审查,将会在十年内消失 50万奖金+天使投资:创维天赐家庭互联网创新大赛开幕 专利案苹果获胜:获赔2.9亿美元 三星不服将继续上诉 Google正打造Spark:一个基于Chrome App的集成开发环境 研发周报:成为一名PHP专家其实并不难 将Vistual Studio打造成为Node.js IDE 度量Web性能的关键指标 路由器未火够!高通发布互联网处理器 Unite2014大会:移动开发者的饕餮盛宴 数据库存在怎么找不到? 请问应用程序服务器一定要在NT操作系统下编写吗? 我不高兴,一个贴子只能回复三次,没道理啊!有时三次回答是解决不了问题的。。。我不高兴。。。 谁能告诉我比较优秀的国外的远程教育站点? 请问大家谁有用CGI编写的类似于购物车的程序源代码? mail函数的使用 请教,如何在text的onkeypress中控制输入的字符为数字 为什么resultset.last()说是抽象方法错? 问问高手关于CFrameWnd的创建 男人单身不是罪 谁能介绍几本国外专家编写SQL Server的进阶教程(最好有电子版) 我也不得不说了,为了我的朋友,为了随风,也为了我自己。。。。。。。。。。。。(贴子长,上班的时候还是别看了好:) 请推荐几本用vc开发服务程序的书籍 请问如何在TC30中使用并连接第三方LIB??? 曾经有一个中毒的人…… to: nononono(null,null),再来! 导入的数据,字符型输出为乱码在oracle8.05中,如何解决?谢谢! 做设计文档时,是先进行详细设计还是数据库设计? csdn我爱你........ oracle8.05中如何察看记录?谢谢! 哪位兄弟见过可以收发邮件(SMTP)的源码,做成动态连接库的那种。别的程序可以调用 关于tedit控件(很弱智的问题,但是小妹妹我就是不会做) 请问一个简单的条件是用Ttable的filter还是Tquery? 选DCOM还是CORBA? 倒库出现的问题 寻求怎样写SQL语句的教程 JNI的问题: dll文件放在哪里能被servlet调用到? 好不容易收到第一份海外定单! 问ListCtrl的item上的右键菜单 怎样求出一个点的坐标??????急急!!!! 请大家看一看这个分页程序,为什么在页数大于20时,按下一页时下面的页数还是显示的1~10页!!谢谢!! 我的linux在放mp3時總愛死,為甚麼? 唉,弄了好几天了,如何解决?????????????? 请问哪里有免费的PHP+MYSQL主页空间呀! 大家快来帮忙:数据库的一个小问题 我现在想学一门新技术,不知道是学VC++,JAVA,还是刚刚出来的。NET技术呢?请高手指点呀。 高分征解:一个动态提示窗口的问题,给出答案必定给分!!!求救我啊!! 在这里赚分真不容易呀! 怎样检查FORM中CHECKBOX和RADIO的值呢 那里有在asp中操作word对象的详细教程? 请问:如何得到TForm的窗口句柄? authorware中的按钮。 哪里有发送mail成功的php程序!! 关于上传数据的一个特殊问题,有点难 怎么用OLE实现与手机的通讯?? 汉语分词算法 grid显示问题 成为Delphi高手须看哪方面的书籍,请高高手指教? 关于属性页的小问题? 为水园增加点正气: 大家都是斯文人吗,呵呵||||| 诗经国风2001版----之桃夭 高手高手教教我 硫酸和硫脲反应吗 物质的树状分类图. 图中哪个化学式写的对 柠檬酸钠和硫脲反应吗? 物质的分类,(树状图) 请列举出含有硫元素的物质,将其化学式/硫元素化合价和物质类别填写在表格中8个(以下皆是)硫元素化合价物质类别 为什么不能把硝酸铋固体直接溶于水中来制其溶液,硝酸铋与水有什么反应? 请选择你熟悉的化学物质,制作一张交叉分类图 怎样辨别物质间能否发生复分解反应 硝酸铋能不能与EDTA反应 请选择你所熟悉的化学物质,制作一张交叉分类图 根据复分解反应发生的条件,判断下列物质间能否发生复分解反应.如能发生反应,写出反应的化学方程式.(1)碳酸钠溶液和氯化钙溶液(2)氢氧化钾溶液和盐酸(3)硫酸和氯化钠溶液(4)碳酸钾溶液和 硝酸铋为什么能溶解于稀硝酸 请教反应方程式 A、B、C是三种不同类别的含有氧元素的化合物,物质间相互反应的关系如图所示(图中“─”表示相连的两种物 这些物质能否发生复分解反应?1.碳酸钠溶液和氯化钙溶液2.氢氧化钠溶液和盐酸3.硫酸和氯化钠溶液4.硫酸钾溶液和盐酸5.硫酸铜溶液和氯化钡溶液这些物质之间能否发生化学反应?可以的话请 硝酸铋水解的化学方程试是什么? A、B、C、D、E分别为五种不同类别的化合物,它们之间的反应关系如右图所示箭头表示物质之间能够相互转化,横杠表示两端物质能够发生反映.已知A、B、C、D四种物质中都含有同一种元素:C是 判断下列物质能否发生复分解反应,如能发生反应,写出反应化学方程式碳酸钠溶液和氯化钙溶液,氯化钾溶液和盐酸,硫酸和氯化钾溶液,碳酸钾溶液和盐酸,硫酸铜溶液和氯化钡溶液 亚锡酸钠与硝酸铋反应现象及方程式? A为金属单质,B,C,D为三种不同类型的化合物,物质间相互反应的关系(A—B—D—C—A)① D的A为金属单质,B,C,D为三种不同类型的化合物,物质间相互反应的关系(A—B—D—C—A)① D的化学式是— 4.根据复分解反应的条件,并利用书后附录1所提供的信息,判断下列物质间能否发生复分解反应.如能发生反应,写出反应的化学方程式.(1)碳酸钠溶液和氯化钠溶液(2)氢氧化钾溶液和盐酸(3 什么物质可以通过一定反应直接形成盐? A、B、C三种化合物通过分解反应分别产生了两种物质(反应条件和各物质化学式前的系数均已略去):A——M+N B——M+Q C——M+PN为一种盐,其水溶液可跟AgNO3溶液反应生成一种不溶于硝酸的白 下列物质能否发生复分解反应,能反应的写出化学方程式,不能的说明理由1盐酸与硝酸银溶液2硫酸和氯化钡溶液3碳酸钠溶液和氢氧化钙溶液4稀硫酸和硝酸钾溶液 盐发生反应的条件①盐和盐 ②盐和酸 ③盐和碱是不是①③要求反应物都溶于水 ②不要求盐溶于水? 按图1-3中箭头所表示的物质间发生的转化,写出相应反应的化学方程式,并指出有元素化合价发生改变的反应. 下列各组物质,能发生反应的写出化学方程式,不能反应的说明理由(1)汞与硫酸亚铁溶液(2)氯化钠溶液与硝酸钾溶液 盐是一类常见的物质,什么物质通过一定反应可直接形成盐? 该图中各种化学反应方程式和反应类型 下列物质能否反应?能反应的写出化学方程式,不能反应的说明理由.1、Mg+NaCl===____________________________2、Zn+H2 SO4===____________________________3、Cu+ZnSO4===____________________________4、Cu+HCl===_____________________ 工业上常用什么反应制取食盐? 完成图中所示的化学方程式,并注明反应的基本类型及反应条件 下列物质中能否发生复分解反应,如能发生反应,写出有关反应的化学方程式,不能反应说明理由1.硫酸和硝酸钠溶液2.氢氧化钾溶液和硝酸3.氯化钠溶液和硝酸银溶液4.碳酸钾溶液和盐酸 尿素和硫酸能反应么?是尿素与硫酸的反应,不是硫酸镁,能反应么? 酸的化学分子式是什么?碱的化学分子式是什么?酸和碱结合生成什么反应?盐和醋结合生成什么反应? .如何做交叉分类图现有氧化钠.二氧化硫.甲烷.氯化钡四种物质,请按其所属做一张交叉分类图 尿素会与什么发生反应?尿素的化学性质和物理性质是什么? 哪几种常见物质结合会产生非常剧烈的反应 横线表示两种物质能反应,箭头表示一种物质能生成另一种物质.请把符合图的所有情况列出来. 氢氧化钠可以和尿素反应吗为什么 盐和硫酸会产生什么反应难道盐和硫酸混不到一起?像鸡尾酒一样 右图是关于铁化学性质的知识网络下图是关于铁化学性质的知识网络(“→”表示一种物质转化为另一种物质),其中B是密度最小的气体C为红色固体单质1、A物质的化学式为——.2、反应②还 请教氢氧化钠和尿素在什么条件下可以产生反应?书上说氢氧化钠和尿素加热就能反应,可是已经煮了好久了(氢氧化钠和尿素浓度为10%),也没有发生反应.请问还需要什么助剂或催化剂才能使 硫酸和什么反应 生成盐和水 化学题:求解.(2010•宜昌)右图是物质化学性质的知识网络图,(2010•宜昌)右图是物质化学性质的知识网络图,“-”表示相连的两种物质能发生反应,“→”表示一种物质转化成另一 尿素在氢氧化钠条件下水解反应方程式 硫酸加上盐产生什么反应 右图是关于盐酸化学性质的知识网络——表示连接的两种物质能发生反应箭头表示一种物质转化成另一种物质A,C属于不同类别的化合物完善这个知识网络 B/ \A----HCL----C|ZN (1)写出a,b,A-----B--- 尿素高是怎么回事,怎么治疗 硫酸(H2PO4)跟NaOH反应,所生成的盐可能有:( )A、1种 B、2种 C、3种 D、4种磷酸 图是物质化学性质的知识网络图,求A、B、C、D、E 在上海松江,哪里可以买到硫代硫酸钠、硫酸氢钠、尿素、硫脲、耐腐蚀的不锈钢容器做一项试验,以上药品仅需最小包装量,希望各位朋友能提供相关信息,在下感激不尽 什么物质能跟硫酸发生反应生成蓝色溶液 图是关于盐酸化学性质的知识网络,——表示相连的两种物质能发生反应,→表示一种物质转化成另一种物质物质能发生反应,→表示一种物质转化成另一种物质,A,C属于不同类别的化合物,请完 硫脲类作用机理是抑制哪种酶的活性原因及机理 怎样判断两种物质发生反应后所生成的物质 如图, 硫脲与铅反应吗 物质分类图如何画? 写出下列表格中相应酸的化学式,指出它们的类别Cl SO4 NO3 CO3 CH3COOH ___ ___ ___ ___ ________类别 ___ ___ ___ ___ ________写出碱的化学式,并指出类别.Na Al Ca Mg NH4OH ___ __ ___ ___ ____ 类别 ___ __ ___ ___ ____上一
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn