VFP爱好者 发表于 2011-5-4 10:57:00

如何在编辑框中获得光标所在的行数

如何在编辑框中获得光标所在的行数

马大哈 发表于 2011-5-5 19:47:57

如果是标准的文本框,可以发送EM_CHARFROMPOS消息来得到当前光标所在的行数.

VFP爱好者 发表于 2011-5-6 14:43:53

不是文本框,是编辑框

lxl1638 发表于 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);                     //读取顶部行号
页: [1]
查看完整版本: 如何在编辑框中获得光标所在的行数