说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

DELPHI中MEMO组件的光标定位

HTML文档下载 WORD文档下载 PDF文档下载
DELPHI中MEMO组件的光标定位

作为一个与VisualBasic相类似,但功能更强大的可视化程序开发工具,Delphi同样提供了大量的简单便捷的控制组件,通过这些组件,程序设计者可以设计出规范美观的界面。并且规范化使用者的输入内容。其中,Delphi提供的编辑组件中的Memo组件的功能是非常丰富的。它可以完成对文字的编辑、修改、文件的调入和存储文件等功能,但是与一般的字处理软件相比,它并未提供编辑时对光标位置、所在行及所在列的信息,这不能说不是一个缺憾。其实,通过很简单的几行程序就可以实现这一要求:

先在Form上放置三个Label组件,并在程序代码的前面声明下面这三个变量为整型数,即:

VarLpos,Cpos,Linelength:integer;

其中Lpos是行的值(按照Memo的规定,第一行为0),Cpos是字符的位置,LineLength是当前行的字符总个数。

然后,再将下面的七行程序代码分别加入Memo1的OnMouseDown和OnKeyDown的事件代码处即可。

Lops:=SendMessage(memol.Handle,EM—LINEFROMCHAR,Memol.SelStart,0);

Cpos:=SendMessage(meno1.Handle,EM—LINEINDEX,Lpos,0);

LineLength:=SendMessage(memol.handle,EM—LINELENGTH,Cpos,0);

Cpos:=Memol.SelStart-CPos;

Labell.caption:=inttostr(lpos);

Label2.caption:=inttostr(cpos);

Label3.caption:=inttostr(linelength);

这样,执行程序后,随着在Memo组件中的编辑操作,Label1、Label2和Label3就将显示出相对应的当前行值、字符位置与当前行的字符总个数了。

全球著名互联网企业背后的开源力量 基础设施对决Facebook vs. Google:差距绝不是一点点 Amazon Q2财报同比转亏,但AWS反其道而行:高歌猛进! 开拓海外市场的两年:海外上线小技巧 SDCC 2013首批讲师名单出炉 一线工程师唱主角 [开源推荐] 跨平台的.NET运行环境 Mono 3.2发布 Heroku发布API平台Beta版 采用OAuth2.0安全授权 大数据时代:移动数据能为我们带来什么? iOS开发经验谈:如何提高应用开发效率? 贝索斯:你否定亚马逊的现在 我决定亚马逊的未来 谷歌新产品Chromecast:一夜之间价格从35美元飙至100美元 移动周报:苹果5周年限免神作,BADLAND开发者访谈 开源平台Cloud Foundry获IBM和百度支持,步入高速发展的“黄金期” GDK仍未发布 谷歌鼓励Glass开发者可提前用Android SDK开发 Adobe发布PhoneGap 3.0 支持命令行工具 初级vs.高级开发者 哪个性价比更高? 一周观察:Cloud Foundry生态圈渐成型 数据分析中的10个注意点,让你更了解用户体验、行为及需求 压不垮就奋行!Dropbox Datastore API给初创NimbusBase带来的启示 史上14大最具创新意义的科技发明 亚马逊应用商店:给应用开发者一个国际舞台 白帽黑客英年早逝:R.I.P,Barnaby Jack 苹果发布支持iTunes Radio服务的iTunes 11.1测试版 诺基亚将发布Treasure Tag配件 让你再也不怕丢东西 从三大互联网巨头布局,看移动时代的商业逻辑 亚马逊应用商店:一个开发者走向世界的机会? 企业级App探索:开发者们的正途在哪里? 如何有效地在海外市场推广产品? 网站转化率统计分析及优化方案 从资深设计师那我们能学到什么? 原作者使用Go开发memcached替代版,现已扎寨谷歌多个项目 请教:我用一个COMBOBOX作为存放表字段名,如何SELECT搜索满足条件 “三个代表”具体是指什么,希望各位JJGGMM帮忙解释一下了,谢谢!(90度鞠躬!!!!~~) 如何将装入到graphi字段的图片压缩?? 看过windows程序设计的朋友请进来 asp调用存储过程问题请教!!!!急!!!! IIS不能使用了该怎么解决? 请教C#问题(1)?? Oracle Intermedia Text支不支持中文的模糊查询 我是ORACLE菜鸟,现有一SQL语句(SQL Server语法),想转换成ORACLE语法,请指点 数据库连接问题??????????? 大虾,请看这里看看? vb中字符串中怎么输入双引号(")或单引号(')? 大家帮忙看看为什么这段代码不工作? ████ 这个帖子骂人,请斑竹秉公处理!!!!!!!████ 怎么样让时间加一个差值; 在另一个类中,怎样给Radio或Combobox赋值 ~~~~向各位高人请教三层线程模型,分可以另开贴加。 new出来的idicmpclient的onreply事件怎么响应? 那位大虾帮我看一下这断代码(JSP高分请教) 帮帮忙啦,哪位同志用过mscomm控件做点对点拨号通讯的 AspRunner是个不错的辅助编写ASP页面的工具,请问哪里有破解下载的啊?谢谢了! 在vc#中如何删除目录下的所有文件? 急 关于分级菜单 求救,如何在注册表中得到一个硬件设备(如猫)的驱动文件名称? 一个难题,希望高手能解决,急切等待! 关于网络状况测试的问题 新手上路,问一个很初级的问题,呵呵。。。 请问如何实现在同一个窗口中的自动跳转? 为什么不能调用类? 关于SQL语句求助 如何在asp和asp.net里面共享信息 溢出错误,麻烦来看看! 知道汉字的国标(gb?)码值,如何显示汉子,急求救!!!! 在SQL2000怎样建立全文索 Cannot start SQL Server Agent 能用case when 举一个例子吗?如果工资>1000 职务='处长',如果工资<1000 职务='科员' 如何将从xml文件中读取的文本在网页上保持格式的显示? sql语句求助!1 有宁波考高程的吗?有参加班的吗? 水晶报表问题???高手请进!!!!!! 使用openquery建立视图。急!急!急!急!急!急! 小问提 交个朋友 Blob类型的字段为什么不能做为Lookup或Calculated字段 有谁知道Any to Icon 的 注册码 怎么实现不同文件中的变量互访? ICS 的FTP控件问题:怎样建目录,我这样做不出错,但是就是建不出来: 数据库出错 怎样将weblogic7和MS sql 2000连接起来? sql语句求助! 关于文件关联的问题,不是那么简单的哦.!!!!!! 关于invicta手表的设置问题 请懂人帮帮忙刚买了一块invicta手表 但是发现一个好纠结的问题 表盘里大秒针不走 而计时用的小表盘秒针在工作 简单的说就是常规秒针和计时秒针的功能对调了 2-戊烯和水反应为什么生成2-戊醇 赤道与什么之间的距离相等 阅读理解 假乞丐的真眼泪,体温计温度哪去了 ‘我的心在瘦骨嶙峋的胸腔里咚咚直跳’这句话是不是比喻句 《走一步,再走一步》中 我的心在瘦骨嶙峋的胸腔里疼痛咚咚直跳.嶙峋的意思. 谁能给我一cf号不求有星星,只求有俩个勾 一个太阳等于几颗星星? 戊醇能发生消去反应吗 2甲基丙2醇可以发生消去反应吗? invicta英弗他家里有个旧式的手表,白色颜色,跟普通的手表没什么区别,他上面英文是invicta,下面还写着21JEWE@PA 请问下,这个手表大约是多少,请专家们解释, 安倍视察伊豆大岛灾情 拟建立热线联络叙利亚提交销毁化武计划 时间符合相关瑞穗银行公布涉黑贷款调查报告 否认组“深度学习”慧眼识人 中科院团队夺百嫦娥三号运载火箭启程赴西昌 为年底发河南济源回应7公里6个“收费站”:非IT业发最新季度业绩 三星微软净利润哥伦比亚反政府武装释放一名美国人质美国最新研究称分析人类口腔细菌可知其美国议员称美监控计划拯救数千人命 欧伊拉塞玛·冈萨雷斯:能源领域是中墨两潘基文谴责尼日利亚首都爆炸袭击事件安倍拟7月就解禁集体自卫权作出决定 新加坡胜安航空开通直飞杭州航班大连摧毁纵跨4省特大贩毒团伙 抓获犯河北省一年来破获涉毒刑事案1015起昆明查办一批职务犯罪案 涉及副县级以纽约通过身份证案 50万非法移民可获美报:克林顿夫妇“靠嘴致富”12年演河北省在册吸毒人员35岁以下占75%骗子发微信忽悠老乡印名片自封老总 诈福州一男子持刀挟持女老板 僵持一小时
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘