CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  VCL组件使用和开发

请问如何获得TMemo控件中光标所处的位置,即当前行和当前列?

楼主AeLord(独孤C++)2003-08-02 20:37:49 在 C++ Builder / VCL组件使用和开发 提问

如上,万分感谢!! 问题点数:20、回复次数:5Top

1 楼zihan(子寒)回复于 2003-08-02 21:38:19 得分 10

行:line   =SendMessage(RichEdit1->Handle,   EM_EXLINEFROMCHAR,0,RichEdit1->SelStart);  
  列:lineindex=SendMessage(RichEdit1->Handle,EM_LINEINDEX,line,0);Top

2 楼AeLord(独孤C++)回复于 2003-08-03 09:33:05 得分 0

这方法用在TMemo控件中好像没用,返回值总是为0,0Top

3 楼dxkh(沧海一粟)回复于 2003-08-03 09:51:05 得分 5

CaretPosTop

4 楼qibo999(行路者)回复于 2003-08-03 12:03:36 得分 5

行:int   line   =SendMessage(Memo1->Handle,   EM_LINEFROMCHAR,   Memo1->SelStart,   0);Top

5 楼AeLord(独孤C++)回复于 2003-08-03 14:22:08 得分 0

问题基本得到解决,使用CaretPos最为简洁,如下代码可以在当前位置插入任意字符串:  
  int   Line,   Volume;  
  Line=memEditor->CaretPos.y   ;  
  Volume=memEditor->CaretPos.x   ;  
  memEditor->Lines->Strings[Line]=memEditor->Lines->Strings[Line].Insert(Content,   Volume+1);//其中Content表示字符串  
  但这时遇到一个新问题,通常改变TMemo中内容时可以使CanUndo属性为True,但上述代码却不能达到这一效果(可能需要用到API帮忙),这也就使得编辑效果不够完善,给位可知如何解决此问题?  
  Top

相关问题

  • 如何确定edit控件中光标所处的位置(控件中的point值)?
  • 简单问题,如何得到光标所处位置的控件名称???
  • 急~~~~~请问如何判断TMemo控件中当前光标在多少行?在线等
  • datagrid控件的光标问题!!
  • datagrid控件的光标问题!!
  • TextBox 控件如何定位光标
  • MaskedEdit Box小问题,如何在此控件获得焦点后,光标放在左侧,而不是光标点击处
  • 如何得到目前输入光标在一个Richedit控件中所处的行数?
  • 如何获知TMemo元件中目前光标处在哪一行?
  • 如何移动把光标从一个控件移到另一个控件

关键词

  • memeditor
  • tmemo
  • caretpos
  • richedit
  • line
  • sendmessage
  • em
  • volume
  • 问题
  • handle

得分解答快速导航

  • 帖主:AeLord
  • zihan
  • dxkh
  • qibo999

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

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