社区
VB基础类
帖子详情
100分大奉送! RichTextBox中怎么快速计算行号?
jettyjiang
2000-08-25 12:23:00
加精
我使用richTextBox,要求即时得到当前光标位置的行号和列号,
我现在使用的是richTextBox的GetLineFromChar方法,但是它太慢,
如果文本有几千行,速度就会特别忙。
哪位大虾有高招,请指教!
...全文
187
4
打赏
收藏
100分大奉送! RichTextBox中怎么快速计算行号?
我使用richTextBox,要求即时得到当前光标位置的行号和列号, 我现在使用的是richTextBox的GetLineFromChar方法,但是它太慢, 如果文本有几千行,速度就会特别忙。 哪位大虾有高招,请指教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fs_windy
2000-08-25
打赏
举报
回复
使用ApI函数SendMessage,加上常数EM_LINEINDEX 可返回行号,
EM_GETSEL 可返回一Long值,高位为行号索引,低位为字符索引
通过计算可得到你要的。
prefix
2000-08-25
打赏
举报
回复
没错,RichTextBox自己的GetLineFromChar太慢了,用api比较快:
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
Private Const EM_LINEFROMCHAR = &HC9
使用
LineNo = SendMessageLong(RichTextbox1.hwnd, EM_LINEFROMCHAR, -1&, ByVal 0&) + 1
LineNo就是当前光标所在行号。
andymei
2000-08-25
打赏
举报
回复
TotalLines := RichEdit.Lines.Count;
哈哈!
shines77
2000-08-25
打赏
举报
回复
应该是:TotalLines = RichTextBox.GetLineFromChar(Len(RichTextBox.Text))
TotalLines := RichEdit.Lines.Count; 是Delphi中的RichEdit的用法,在VB不适用,andymei 啊,不要误人子弟啊。
RichTextBox
1.0正式商??限制??版
RichTextBox
1.0正式商??限制??版,第一?ASP.NET??化??框控制?!本站提供正式商???序列?(非?用序列?),可解除
RichTextBox
1.0正式版任何限制.(???言:ASP.NET)
RichTextBox
添加
行号
.zip
RichTextBox
添加
行号
winform常用控件
主要包含内容: 第一讲 课程简介 第二讲 Windows窗体-创建和介绍 第三讲 Windows窗体-属性 第四讲 Windows窗体-方法和事件 第五...第八讲Button控件 第九讲TextBox控件 第十讲
RichTextBox
控件 第十一讲ComboBox控件 等
获取
RichTextBox
当前
行号
获取
RichTextBox
当前
行号
获取
RichTextBox
当前
行号
获取
RichTextBox
当前
行号
一个
RichTextBox
自动加
行号
的程序
一个
RichTextBox
自动加
行号
的程序,非常好用.
VB基础类
7,762
社区成员
197,608
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章