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

有关 RichEdit 的几个简单的问题

编辑:说三道四文库 发布时间:2017-12-19 02:54
HTML文档下载 WORD文档下载 PDF文档下载
1,不要自动换行
2,当前光标所在的行号和列号
3, 改变当前行的字体或颜色
1 你试试分别设置不同的scrollbars看:)
2 // 指定输入游标的位置
     procedure SetCaret(RTF: TRichEdit; var Row, Col: word);
     var
       i, iStopLine, iSelStart: integer;
     begin
       if (RTF = nil) then Exit;
       if Row = 0 then Row := 1;
       if Col = 0 then Col := 1;

       // 到第 Row 列, Col 行共几个字元
       iStopLine := Row - 1;
       iSelStart := 0;
       for i := 0 to RTF.Lines.Count - 1 do
       begin
         if i = iStopLine then
         begin
           if Length(RTF.Lines[i]) >= Col then
             Inc(iSelStart, Col)
           else
             Inc(iSelStart, Length(RTF.Lines[i]) + 2);
           Break;
         end;
         Inc(iSelStart, Length(RTF.Lines[i]) + 2);
       end;
       if iSelStart > 0 then Dec(iSelStart);

       // 以设定标记的方式指定游标位置
       SendMessage(RTF.Handle, EM_SETSEL, iSelStart, iSelStart);

       // 再次侦测游标位置
       Row := SendMessage(RTF.Handle, EM_LINEFROMCHAR, RTF.SelStart, 0);
       Col := RTF.SelStart - SendMessage(RTF.Handle, EM_LINEINDEX, Row, 0);

       // 卷到游标所在位置
       SendMessage(RTF.Handle, EM_SCROLLCARET, 0, 0);
     end;

     procedure TForm1.Button1Click(Sender: TObject);
     var
       iRow, iCol: word;
     begin
       iRow := 17;
       iCol := 3;
       SetCaret(RichEdit1, iRow, iCol);
       RichEdit1.SetFocus;
     end;
2 还有一个例子:如何改变RichEdit的游标位置
请问在RichEdit中我想将游标(文字)移动到某一位置要怎麽用呢?

我用SendMessage可以取得行数、列数,然後要用那个参数或是函数才能移动游标呢?



这个需要自已处理, 例如本信所附的程式 --

// 指定输入游标的位置
procedure SetCaret(RTF: TRichEdit; var Row, Col: word);
var
  i, iStopLine, iSelStart: integer;
begin
  if (RTF = nil) then Exit;
  if Row = 0 then Row := 1;
  if Col = 0 then Col := 1;

  // 到第 Row 列, Col 行共几个字元
  iStopLine := Row - 1;
  iSelStart := 0;
  for i := 0 to RTF.Lines.Count - 1 do
  begin
    if i = iStopLine then
    begin
      if Length(RTF.Lines[i]) >= Col then
        Inc(iSelStart, Col)
      else
        Inc(iSelStart, Length(RTF.Lines[i]) + 2);
      Break;
    end;
    Inc(iSelStart, Length(RTF.Lines[i]) + 2);
  end;
  if iSelStart > 0 then Dec(iSelStart);

  // 以设定标记的方式指定游标位置
  SendMessage(RTF.Handle, EM_SETSEL, iSelStart, iSelStart);

  // 再次侦测游标位置
  Row := SendMessage(RTF.Handle, EM_LINEFROMCHAR, RTF.SelStart, 0);
  Col := RTF.SelStart - SendMessage(RTF.Handle, EM_LINEINDEX, Row, 0);

  // 卷到游标所在位置
  SendMessage(RTF.Handle, EM_SCROLLCARET, 0, 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  iRow, iCol: word;
begin
  iRow := 17;
  iCol := 3;
  SetCaret(RichEdit1, iRow, iCol);
  RichEdit1.SetFocus;
end;

我还是不明白怎么样自动换行,能不能具体说说?
WordWarp属性
3、selstart
sellength
selattributes.color
selattributes.size
曾经那些主流的API,而今风光已不再! Android 4.3本月9日亮相 新功能汇总 移动游戏的国际化运营技巧 Google的Janus与Facebook的McDipper:将闪存用于数据中心 拥抱开源还是坚守阵地:传统数据库供应商面临抉择 超棒的30款JS类库和工具 立场坚定:惠普仍然密谋回到智能手机市场 6月份浏览器份额:Chrome成市场份额增长最快浏览器 关于PHP的十大误解 你中了几个? 专访西电朱虎明:异构计算硬件架构呈现百花齐放 百家争鸣 GSMA行纪:各种神器、好玩的、好看的全搜罗 大数据初创企业WibiData将Hadoop“打包”,谷歌董事长施密特两次参投 赚钱不忘环保 苹果计划为数据中心兴建太阳能发电厂 深度解析:清理烂代码 电信开放平台发布短信验证码API 创业教父Paul Graham谈创业投资趋势 挖掘Linux人才,打造Power生态系统!IBM启动“天合应用服务器定义未来挑战赛” 请不要忽略API的安全性 发布将近?苹果在多地注册“iWatch”商标 苹果聘请某时尚公司CEO为副总裁 将负责“特殊项目” 雅虎5000万美元收购视频分享应用Qwiki 创业第一年易犯的8大错误 苹果推iOS游戏手柄,掌上游戏主机格局变天? 代码审查固然伟大,那还有其他替代品吗? 怎样维护一个成功的开源项目 麻省理工专家发布新系统Ascend,专注内存访问安全缺陷 Oracle Database 12c面临的最大挑战是开源+开放的生态系统?! 浸入式数据中心:高密度计算的新前沿 2013年腾讯合作伙伴大会要点回顾 “鼠标之父”和超文本研究先驱Douglas Engelbart去世 享年88岁 Web服务器排行:Nginx超越Apache 成为全球TOP 1000网站最常用的Web Server 水晶报表中打印时无法打印多份 请各位帮忙 有哪位仁兄知道,如何在页面中创建一个可拖动的层?请教了! 请问哪有servlet包的源代码? 取图片发生了错误(代码内,修改了一下代码就报错了),高人指点啊 哪位朋友可以帮忙将这段PHP的代码转成ASP?代码见内,谢谢。 急救 少有问问题,来者有份! SmartUpload组件的Request有问题啊 db中知道如何知道一个已知名字的procedure存在于哪个package中? Windows2000的计算机名的命名规则是什么? 关于microsoft speech sdk5.1的问题?高分请教。 到底有没有人懂 菜鸟提问~~! 关于时钟中断的简单问题!! 我的硬盘完了。。。。。。。。。。。。。。。救救我呀。。。。。。。。。 关于JTree的图标 用jdk能否进行java编程,运行java程序? 如何用代码触发另外一个按钮的click事件!!!!!!!!! 奇怪的问题, 在线等待 请教:别名是中文速度很慢 请教dbgrid问题 请教:如何在JSP中实现媒体播放 如何使用asp程序反复提交一个页面 能不能实现powerpoint中实现同时只播放一个文档? 求SQL SERVER 2000 的东京攻略 请问怎么能自动升级 我是来找我MM的..................................... 动态生成的Tree怎么响应自定义的动作 哪里可以下载到asp的自助建站程序? COM初学者,请给点建议,谢谢!up有分 JBuilder9 的声音可以更改么? 再问一个关于rave的问题:怎么用程序在rave designer上画网格线,就是如何画直线??? 操作系统装好了,网卡却不能用了,急呀!!在线等待! asp.net中怎么判断request的一个值是否为空? ???数据显示问题??? 请教SOCKET编程中遇到的一个问题 如何得到程序是在运行时还是在设计状态? 求救!(送分) 子报表预览问题???????? 问一个关于多线程操作文件的问题(在线等待) 怎样实现:点击一个按钮,显示或隐藏一段内容? 请教关于WEBSPHERE的简单问题! 奇怪的问题?困扰中。。来看看有点意思:) fdas写过Taglib的大哥们教教我. 请问*.prz是什么文件,用什么软件打开 在线等待,水晶报表问题 在asp脚本中调用存储过程出错,求教,急 小问题 CSDN 无人能回答的问题,微软的BUG,我不得不重装.NET。 我是不是中毒了? 水晶报表中打印时无法打印多份 请各位帮忙 请问商也好与贤已者处,赐也好说不若已者. “宗臣遗像肃清高”中的“宗臣”是什么意思? 诸葛大名垂宇宙 宗臣遗像肃清高.快呀,今天最好 养,打个成语养字,打个成语 ( )目养( )四字成语 成大事者必有静气第四段补充一个事实论据 什么神什么养的成语如题 , 成大事者必有静气 第2段画线的是''历史上著名的------------小儿辈已破敌''、本文的中心论点是------------2,、文章第2段画线的事实论据有何作用?请结合文章内容作简要分析.3、本文作者是怎样 居高朝自远 非是籍秋风 订单上的 P/R 像那P/O就是订单号码的意思P/N是物料编码 的意思那P/R呢? 地球处于宇宙的什么坐标? 朴槿惠就历史问题斥责日本 称元首会晤哥伦比亚警方截获1.5吨可卡因 逮捕环保部:局地雾霾天气频发 做好大气污俄总统普京将访问越南 适逢俄越潜艇交萧山冤案一审审判长辞去余杭区法院院长煤矿安监局:加快小煤矿关闭退出 严格浙江萧山冤案一审审判长辞去余杭区法院怀孕妻子为出轨私自堕胎 丈夫暴怒下杀希腊庆祝母乳喂养周 数百母亲当众哺乳《安德的游戏》登顶北美票房海外媒体对中共十八届三中全会充满期待今年土地市场“收官季”剧情会怎么演?这个日本妹子靠着一双手,征服了欧美三卖点或将形成 继续空仓观望真变态,在这里打球必须得脱光光!其实这些被误认为日本的东西,都源于中吃遍这十条路,也就吃遍了上海冬天通风有讲究,这两个时间开窗会让你最大天然海水圆珍珠亮相中国国际珠宝展栽在最后一公里歌手观众热烈互动 爱死你了!乘高铁赴浙中尝美食重生之法神传说网游之雄霸宇宙无花堪折胖子仙子谱异界毒霸天下七曜下的奇迹武道之召唤妖狼传杀戮征途妖魔异界录仪陇旅游合阳旅游六库旅游恭城旅游江村旅游炉霍旅游卫辉旅游大新旅游浚县旅游永嘉旅游彭水旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘