如何实现在TextBox中如何得知Caret所在位置

2016-02-19 14:54 29 1 收藏

下面是个简单易学的如何实现在TextBox中如何得知Caret所在位置教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - 编程语言 】

  

'在form中放一个textBox两个labelConst EM_GETSEL = &HB0Const EM_LINEFROMCHAR = &HC9Const EM_LINEINDEX = &HBBPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" _(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _lParam As Any) As LongPublic Sub GetCaretPos(ByVal hwnd5 As Long, LineNo As Long, ColNo As Long)Dim i As Long, j As LongDim lParam As Long, wParam As LongDim k As Longi = SendMessage(hwnd5, EM_GETSEL, wParam, lParam)j = i / 2 ^ 16 '取得目前Caret所在前面有多少个byteLineNo = SendMessage(hwnd5, EM_LINEFROMCHAR, j, 0) '取得前面有多少行LineNo = LineNo + 1k = SendMessage(hwnd5, EM_LINEINDEX, -1, 0)'取得目前caret所在行前面有多少个byteColNo = j - k + 1End SubPrivate Sub Form_Load()Dim LineNo As Long, ColNo As LongCall GetCaretPos(Text1.hwnd, LineNo, ColNo)Label1.Caption = LineNoLabel2.Caption = ColNoEnd SubPrivate Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)Dim LineNo As Long, ColNo As LongCall GetCaretPos(Text1.hwnd, LineNo, ColNo)Label1.Caption = LineNoLabel2.Caption = ColNoEnd SubPrivate Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Dim LineNo As Long, ColNo As LongCall GetCaretPos(Text1.hwnd, LineNo, ColNo)Label1.Caption = LineNoLabel2.Caption = ColNoEnd Sub

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

来源:https://www.tulaoshi.com/n/20160219/1608286.html

延伸阅读
1.设置TVirtualStringTree属性:       toFullRowSelect : false;       toMultiSelect:false;        toExtendedFocous:true;        toEditable:true;       ...
标签: windows系统
如何在Windows8中修改当前所在地理位置   步骤1:打开控制面板; 步骤2:在"时钟、语言和区域"上左键单击; 步骤3:在"更改位置"上左键单击; 步骤4:选择位置标签,在"主要位置(H):"上左键单击; 步骤5:通过鼠标滚轮上下滚动,选择你要更改的位置,单击; 步骤6...
标签: 电脑入门
要实现在硬盘上引导WinPE,必须包含以下三个文件AVLDR.PE PELDR WINNT.SIF,并且跟PE镜像文件一起复制到C盘再改boot.ini文件后重启才能出现WinPE启动菜单。 下面来说说它们各自都有些什么作用: 1、AVLDR.PE是计算机启动时载入的文件,文件中有1条数据为PELDR的文件名。 2、PELDR是PE启动载入程序,文件中有7条数据为PE的系统目录名,要根据...
标签: Web开发
在aspx页面中要实现单击一个按钮(服务器端控件)来关闭当前页面,只需要在aspx页面的page_load()方法中加入下列语句: this.btnClose.Attributes.Add("onclick","window.close()");//btnClose是按钮的名字,此语句是给其添加一个单击属性,调用window.close()方法。 2 在html页面中要实现单击一个按钮(html控件)来关闭当前页面,只...
在数据库编程中,不必要也不可能将应用程序操作的所有数据库字段放入一个数据库文件中。正确的数据库结构应是:将数据库字段放入多个数据库文件,相关的数据库都包含一个唯一的要害字段,在多数据库结构里可以建立联系。 例如:要编制一个人事治理程序,为简化演示程序,只建立两个数据库,每个数据库都只建立两个字段。 ...

经验教程

144

收藏

89
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部