紫水晶编程技术论坛 - 努力打造成全国最好的编程论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 5270|回复: 3

[求助] 如何在编辑框中获得光标所在的行数

  [复制链接]

4

主题

6

帖子

0

精华

铜牌会员

Rank: 2Rank: 2

积分
38
发表于 2011-5-4 10:57:00 | 显示全部楼层 |阅读模式
如何在编辑框中获得光标所在的行数

273

主题

3287

帖子

1

精华

管理员

嗷嗷叫的老马

Rank: 125Rank: 125Rank: 125Rank: 125Rank: 125

积分
17057

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2011-5-5 19:47:57 | 显示全部楼层
如果是标准的文本框,可以发送EM_CHARFROMPOS消息来得到当前光标所在的行数.
我就是嗷嗷叫的老马了......

4

主题

6

帖子

0

精华

铜牌会员

Rank: 2Rank: 2

积分
38
 楼主| 发表于 2011-5-6 14:43:53 | 显示全部楼层
不是文本框,是编辑框

7

主题

43

帖子

2

精华

初来乍到

Rank: 1

积分
3171
发表于 2011-5-6 18:48:38 | 显示全部楼层
本帖最后由 lxl1638 于 2011-5-6 18:51 编辑

EM_GETSEL                         //读取光标位置
EM_SETSEL                         //设置光标位置
EM_LINEFROMCHAR            //读取光标行号
EM_GETFIRSTVISIBLELINE   //读取顶部行号

//示例(hEdit为编辑框句柄):
INT64 iCurPos,iEndPos;
SendMessage(hEdit,EM_GETSEL,(WPARAM)&iCurPos,(LPARAM)&iEndPos);                            //读取光标位置
//SendMessage(hEdit,EM_SETSEL,(WPARAM)iNewStartPos,(LPARAM)iNewEndPos);               //设置光标位置
INT64 iCurLine = SendMessage(hEdit,EM_LINEFROMCHAR,(WPARAM)iCurPos,NULL);            //读取光标行号
INT64 iTopLine = SendMessage(hEdit,EM_GETFIRSTVISIBLELINE,NULL,NULL);                       //读取顶部行号
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

手机版|Archiver|紫水晶工作室 ( 粤ICP备05020336号 )

GMT+8, 2024-4-28 11:43 , Processed in 0.024748 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表