搜索
bottom↓
回复: 12

BCB6.0 的 MEMO 控件求助

[复制链接]

出0入0汤圆

发表于 2009-3-5 10:20:30 | 显示全部楼层 |阅读模式
求助
BCB6.0 的 MEMO 控件,如何改变指定一行的颜色?
谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2009-3-5 10:54:51 | 显示全部楼层
建议用richedit实现

出0入0汤圆

 楼主| 发表于 2009-3-5 10:57:57 | 显示全部楼层
如何做?可明示吗?
谢谢!

出0入0汤圆

发表于 2009-3-5 11:38:44 | 显示全部楼层
void __fastcall TForm1::FormCreate(TObject *Sender)
{
        RichEdit1->Clear();
        RichEdit1->Lines->Add(L"Line1");
        RichEdit1->Lines->Add(L"Line2");
        RichEdit1->Lines->Add(L"Line3");

        int pos = 0,Tbl_Color[]={clRed,clGreen,clBlue};

        for(int i = 0 ; i < RichEdit1->Lines->Count ; i++)
        {
                RichEdit1->SelStart = pos;
                RichEdit1->SelLength = RichEdit1->Lines->Strings.Length();
                RichEdit1->SelAttributes->Color = Tbl_Color;
                pos += RichEdit1->SelLength+1;
        }

        RichEdit1->SelLength = 0;
}

出0入0汤圆

 楼主| 发表于 2009-3-5 12:00:46 | 显示全部楼层
高手!
多谢!
问一下可否改变某一行的背景色?

出0入0汤圆

发表于 2009-3-5 13:05:32 | 显示全部楼层
There it is^__________________^

void __fastcall TForm1::FormCreate(TObject *Sender)
{
                TCharFormat2 fmt;

                RichEdit1->Clear();

                RichEdit1->Lines->Add(L"Line1");
                RichEdit1->Lines->Add(L"Line2");
                RichEdit1->Lines->Add(L"Line3");

                int pos = 0;
                int Tbl_TXTColor[]={clRed,clBlack,clBlue};
                int Tbl_BGColor[]={clYellow,clGreen,clGray};

                for(int i = 0 ; i < RichEdit1->Lines->Count ; i++)
                {
                                RichEdit1->SelStart = pos;
                                RichEdit1->SelLength = RichEdit1->Lines->Strings.Length();

                                fmt.cbSize = sizeof(fmt);
                                fmt.dwMask = CFM_COLOR | CFM_BACKCOLOR;
                                fmt.crTextColor = Tbl_TXTColor;
                                fmt.crBackColor = Tbl_BGColor;

                                RichEdit1->Perform(EM_SETCHARFORMAT,SCF_SELECTION,int(&fmt));

                                pos += RichEdit1->SelLength+1;
                }

                RichEdit1->SelLength = 0;
}

出0入0汤圆

 楼主| 发表于 2009-3-5 14:04:20 | 显示全部楼层
编译出错
undefined symbol TCharFormat2

出0入0汤圆

发表于 2009-3-5 14:07:55 | 显示全部楼层
我用bcb 2009编译的

#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>

包含以上头文件式式

出0入0汤圆

发表于 2009-3-5 14:13:44 | 显示全部楼层
你看看你用得是否为RichEdit的2.0以上版本。

可以执行以下语句,判断是否为2.0版本,按理说bcb6应该是2.0的
bool bRes = LoadLibrary("riched20.dll");

出0入0汤圆

 楼主| 发表于 2009-3-5 14:17:17 | 显示全部楼层
这些头文件在 BCB6.0 都有。
请问 BCB 2009 哪有下载? 是解密的吗?
多谢解答!

出0入0汤圆

发表于 2009-3-5 14:24:20 | 显示全部楼层
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=3216327&bbs_page_no=1&bbs_id=1036

看这里,这是原版

网上有几百兆的绿色版你可以下来用用。


图片应该是你要的效果把


(原文件名:untitled.JPG)

出0入0汤圆

发表于 2009-3-5 14:26:23 | 显示全部楼层
图中   LoadLibrary("riched20.dll");  不需要,仅测试

出0入0汤圆

发表于 2009-7-22 15:55:59 | 显示全部楼层
学习,谢谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 17:59

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表