| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 263 人关注过本帖
标题:请教各位老师RichText控件如何获取行数,某行的文字?
只看楼主 加入收藏
sych
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:394
专家分:634
注 册:2019-10-11
收藏
得分:0 
ALINES( ) 不受 SET MEMOWIDTH设定值的影响
昨晚 20:20
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10672
专家分:43285
注 册:2014-5-20
收藏
得分:0 
试试:
总行数 消息 EM_GETLINECOUNT   0x00BA
取一行 消息 EM_GETLINE    0x00C4
    注意:
    1、在存放数据缓冲区(cBuffer)的首字节写入缓冲区最大的字符数值(nBufferSize)
    2、执行 SendMessage 读取数据,返回取得读出的字符串长(nLen)
    3、在读出的字符串尾部添加结束符'\0'

        
昨晚 20:43
wxzd123
Rank: 2
等 级:论坛游民
帖 子:441
专家分:96
注 册:2012-9-6
收藏
得分:0 
回复 10楼 sych
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册

老师只有14号字是对的,其他字号不对
15 小时前
wxzd123
Rank: 2
等 级:论坛游民
帖 子:441
专家分:96
注 册:2012-9-6
收藏
得分:0 
回复 12楼 吹水佬
版主好,这些代码不会用,要用到api吗?
15 小时前
sych
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:394
专家分:634
注 册:2019-10-11
收藏
得分:0 
MESSAGEBOX(mline(thisform.Olecontrol5.text,5))
这里和字号没有关系
13 小时前
sych
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:394
专家分:634
注 册:2019-10-11
收藏
得分:0 
学习是个枯燥的过程,没有捷径,可以从熟悉各个函数、命令做起
13 小时前
sych
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:394
专家分:634
注 册:2019-10-11
收藏
得分:0 
ALINES(sun,thisform.Olecontrol5.text)
这个也可以
如果你愿意学习,也可以看看这个,尝试着改写为vfp
快速获得Richtextbox控件指定行文本的方法 - 学剑学诗两不成 - 博客园  
https://
12 小时前
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10672
专家分:43285
注 册:2014-5-20
收藏
得分:0 
以下是引用wxzd123在2025-9-1 06:14:56的发言:

版主好,这些代码不会用,要用到api吗?

用windows的标准控件EDIT试了一下,注意 SendMessageW 返回的是“字”数,不是“字节”数。
程序代码:
        DECLARE long SendMessageW   IN user32 as SendMessageW2   long,long,long,string@
        DECLARE long SetWindowTextW IN user32 as SetWindowTextW2 long,string
        #define EM_GETLINE    0x00C4 
        nBufferSize = 2048    && 要足够大
        cBuffer     = BINTOC(nBufferSize,"4rs")+REPLICATE(0h00,nBufferSize+1)
        hEdit       = thisform.hEdit1    &&编辑框句柄
        nLineNo     = 9                  &&要取的行号(通常是从0行起)
        nWordCount  = SendMessageW2(hEdit, EM_GETLINE, nLineNo, @cBuffer)
        SetWindowTextW2(hEdit, cBuffer)   && 显示结果




[此贴子已经被作者于2025-9-1 10:36编辑过]

11 小时前
wxzd123
Rank: 2
等 级:论坛游民
帖 子:441
专家分:96
注 册:2012-9-6
收藏
得分:0 
回复 18楼 吹水佬
版主您好
 nWordCount  = SendMessageW2(hEdit, EM_GETLINE, nLineNo, @cBuffer)
这行提示数据类型不匹配
8 小时前
wxzd123
Rank: 2
等 级:论坛游民
帖 子:441
专家分:96
注 册:2012-9-6
收藏
得分:0 
回复 15楼 sych
你好,我发的截图第一个是字号14截图,第二个是字号22截图,第2个图就不是第五行的文字
8 小时前
快速回复:请教各位老师RichText控件如何获取行数,某行的文字?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024041 second(s), 9 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved