MFC:怎么在控件中显示一行具有不同颜色的字

MFC:如何在控件中显示一行具有不同颜色的字
比如要显示的为:感谢你的发言
第一个要显示成红色,第2个绿色,。。。。
不知在Static中有没有方法显示?  
如果不行的,还有什么控件可以完成此功能?谢谢!

由于新手,没什么分,还请见谅!

------解决方案--------------------
今天做了个
具体实现如下:
在你要加控件的对话框CPP文件下,选择项目==> 添加类,选择添加MFC类
类名输入你自己的类名,例如我输入CMyColorText
基类选择CStatic

完后你将有一个类CMyColorText

在类视图里选择CMyColorText
添加消息WM_PAINT的消息函数

在该函数下
输入
void CMyColorText::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CStatic::OnPaint()

RECT rt;
GetClientRect(&rt);
CString strText, strBuffer;
long lColor;

GetWindowText(strText);
dc.SetBkMode(TRANSPARENT);
lColor = RGB(0x40, 0x20, 0x30);
for(long i=0; i <strText.GetLength(); i++)
{
strBuffer = _T( " ");
lColor += 0x102030;
lColor &= 0xFFFFFF;
dc.SetTextColor(lColor);
for(long j=0; j <i; j++)
strBuffer += _T( "  ");
strBuffer += strText.Mid(i, 1);
dc.DrawText(strBuffer, strBuffer.GetLength(), &rt, DT_LEFT);
}
}

上面的是实现彩色文字,具体函数你可以自己写,要什么颜色就自己决定,或者加入可控变量,进行自定义颜色.

使用方法是先在对话框头文件里包含头文件MyColorText.h,在对话框里加入一个Static控件,输入控件ID,控件ID一定不能用ID_STATIC
然后添加该控件变量,变量类型输入CMyColorText, 类别是Control, 变量名你自己定.

然后运行程序就可看到你的实现效果了.

用这个方法可以实现大部分的界面,如果你有闲心,甚至可以实现出QQ的界面来.
------解决方案--------------------
CPaintDC dc(this); // device context for painting
if (!(HFONT)m_font) {
LOGFONT lf;
GetFont()-> GetObject(sizeof(lf), &lf);
m_font.CreateFontIndirect(&lf);
}
RECT rt;
GetClientRect(&rt);
CString strText, strBuffer;
long lColor;
GetWindowText(strText);
dc.SetBkMode(TRANSPARENT);
lColor = RGB(0x40, 0x20, 0x30);
for(long i=0; i <strText.GetLength();)
{
strBuffer = _T( " ");
lColor += 0x102030;
lColor &= 0xFFFFFF;
dc.SetTextColor(lColor);
int checkc=strText.GetAt(i);
dc.SelectObject(m_font);
if(checkc> 255||checkc <0)
{

strBuffer=strText.Mid(i,2);
i+=2;
rt.left+=10;
}
else
{
strBuffer=strText.Mid(i,1);
i++;
rt.left+=9;
}

dc.DrawText(strBuffer, strBuffer.GetLength(), &rt, DT_LEFT);
}