首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 关于BCB中TRichEdit一行中文字颜色问题
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ft26327
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-08-08 15:52:01 楼主
      用TRichEdit怎样让一行中的部分文字颜色不同 例如
              This is a example!
        我希望的解决方案是用最少的代码  我的上司说他要解决需要多出将近100行代码
        先谢谢大家!
    5  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zxjrainbow
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 20:35:201楼 得分:0
    很简单的一种方法:
    直接构造RTF字符串,然后插入即可。
    前提是你要知道怎么构造。具体RTF语法,可以GG一下即可。
    这种是用代码最少,而且速度最快的方法。
    不过就算是用其他方式实现,也用不了100行,50行左右即可。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zxjrainbow
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-19 20:38:192楼 得分:0
    C/C++ code
    {\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}} {\colortbl ;\red0\green0\blue0;\red255\green0\blue0;\red0\green255\blue0;\red255\green0\blue255;} {\*\generator Msftedit 5.41.15.1512;}\viewkind4\uc1\pard\cf1\lang2052\f0\fs18 This \cf2 is\cf1 \cf3 a\cf1 exa\cf4 mpl\cf1 e! \par }

    其中的This \cf2 is\cf1  \cf3 a\cf1  exa\cf4 mpl\cf1 e!  就是显示出来的字符。而RTF是以\为转义符的。
    具体请看看MS的RTF定义文档吧。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ft26327
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-25 17:34:383楼 得分:0
    我真的是新手 楼上两位的我没搞懂
    我已经找到一种最简单的方法了
    还是我老大想到的。。。
    给大家分享一下
    如果有更好的可以大家交流一下
    //根据查询文字位置去着色
              int FoundAt2=0;
              int iChrCount2= 0;
            for(int i=0;i <Show_List->Lines->Count;i++){
              FoundAt2 = Show_List->Lines->Strings[i].Pos(":禁止");
              if (FoundAt2>0){
                Show_List->SelStart=iChrCount2+FoundAt2;//找到开始位置
                Show_List->SelLength=4;//找到结束位置
                AText->Color=clRed;
              }
              iChrCount2 = iChrCount2 + Show_List->Lines->Strings[i].Length()+2;
            }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • javalover23
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-31 01:00:554楼 得分:0
    友情Up!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zxjrainbow
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-09-01 20:44:195楼 得分:0
    你们老大的想法也可以,不过效率在大数据的情况下极低。
    如果你只是想找到某个词,然后修改颜色,有很多快的方法。都比你老大的方法好。
    1.使用FindTextA,找到词,
    2.使用SelAttrib修改颜色就完事了。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved