CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

在Edit中如何获取光标的位置?

楼主moziheng(hezijain)2004-09-04 13:49:32 在 VC/MFC / 界面 提问

在Edit控件中,可发EM_LINEFROMCHAR   来获取光标所在行。  
  现在的问题是,我得到这一行Text后,将text中的单词一个一个的分离出来,现在我想知道光标的位置,即光标正处于哪个单词中。  
  一般的好的IDE环境中查找工具刚打开时,默认待查找的单词就是光标处所在的单词  
   
  请问这个功能怎么实现?  
   
  请注意,不能用MFC,要用API或消息  
   
  谢谢 问题点数:40、回复次数:4Top

1 楼moziheng(hezijain)回复于 2004-09-04 13:50:29 得分 0

单词已经分离出来了Top

2 楼crystal521(【云淡风轻】)回复于 2004-09-05 01:03:34 得分 20

先用WIN32函数GetCaretPos得到当前光标的坐标(像素坐标),然后可以向EDIT控件发送EM  
  _CHARFROMPOS消息,以获知该坐标在文本中第几个字符,第几行。  
  Top

3 楼crystal521(【云淡风轻】)回复于 2004-09-05 01:06:11 得分 20

用EM_LINEINDEX消息获取当前行的首字符的序号,返回的字符序号是EDIT控件中所有字符总的序号。好像没有直接返回列号  
  的办法,不过既然有了总序号,可以顺序扫描EDIT框中的文本,只要数数  
  换行回车的个数就可以算出列号了。  
  用已经  
  获得的当前字符的总序号减它再加1,这样就得到了当前列值。  
  Top

4 楼moziheng(hezijain)回复于 2004-09-05 19:06:02 得分 0

EM_CHARFROMPOS  
   
  Return   Values  
  The   low   word   of   the   return   value   specifies   the   zero-based   index   of   the   character   nearest   the   specified   point.   This   index   is   relative   to   the   beginning   of   the   control,   not   the   beginning   of   the   line.   If   the   specified   point   is   beyond   the   last   character   in   the   edit   control,   the   return   value   indicates   the   last   character   in   the   control.    
   
  The   high   word   of   the   return   value   specifies   the   zero-based   index   of   the   line   that   contains   the   character.   For   single-line   edit   controls,   this   value   is   zero.   The   index   indicates   the   line   delimiter   if   the   specified   point   is    
   
  在RichEdit中,可能文本大小超过64k,若光标在超过64k的地方,那么返回值如何用一个WORD来装载呢?Top

相关问题

  • 获取光标位置
  • 如何获取edit or mkedit输入时光标的位置(注:不是MOUSE的座标)
  • 这个小问题已经卡了我好几天了,获取Edit框中光标位置
  • 怎样获取光标在文本中的位置?
  • 怎样获取输入焦点的光标位置!??
  • 怎样获取光标在窗体以外的位置啊
  • 怎样在vb.net中获取光标位置
  • 能否设置/获取DTP(DateTimePicker )当前光标位置?
  • 如何获取datagrid中光标所在位置的记录?
  • 如何获取combo box控件ListBox上光标位置上的条目?

关键词

  • 字符
  • 坐标
  • 控件
  • 文本
  • 消息
  • word
  • 光标
  • 序号
  • 获取
  • 单词

得分解答快速导航

  • 帖主:moziheng
  • crystal521
  • crystal521

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo