荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: oopilix (世界经常有惊喜), 信区: Visual
标  题: [zl]可直接用的RichEdit代码
发信站: 荔园晨风BBS站 (Sat Jan 31 21:36:42 2004), 站内信件
最好拷贝到Notepad中看。

/*************************************************
  Function              :       void SetWordsFont(CRichEditCtrl *richEdit,
                                                                        LPCTSTR
sWord1, COLORREF clr1,
                                                                        LPCTSTR
sWord2, COLORREF clr2,
                                                                        LPCTSTR
sWord3, COLORREF clr3,
                                                                        LPCTSTR
sWord4, CFontDialog *fontDialog)
  Class                 :       无
  Description   :       对聊天室发送消息内容,按用户定制输出到屏幕上
  Input                 :       9个参数
  Output                :       无
  Return                :       无
  Remark                :       只要调用SetWordsFont()这一个函数就行了,你只要把
SetMsg(),Message()
                                        添加到你的cpp文件里就行了!所以你不必管
SetMsg()和Message()!
                                        例如一个典型的例子:
                                        张三            哭着            对所有人
        说:             你明天有空吗?
                                        某人            表情            某人
        动作            内容

  Author                :       liuYou
  Date                  :       2003-12-18 17:35
*************************************************/
void SetWordsFont(CRichEditCtrl *richEdit,
                                LPCTSTR sWord1, COLORREF clr1,
//某人
                                LPCTSTR sWord2, COLORREF clr2,
//表情
                                LPCTSTR sWord3, COLORREF clr3,
//某人
                                LPCTSTR sWord4, COLORREF clr4,
//动作
                                LPCTSTR sWord5, CFontDialog *fontDialog)//内容
{
        Message(richEdit, sWord1, clr1);
//张三
        Message(richEdit, sWord2, clr2);
//哭着
        Message(richEdit, sWord3, clr3);
//对所有人
        Message(richEdit, sWord4, clr4);
        //说:
        SendMsg(richEdit, sWord5, fontDialog->GetColor(), fontDialog);//你明天有
空吗?
}

void SendMsg(CRichEditCtrl *richEdit,
                                                        LPCTSTR sWord, COLORREF
clr,
                                                        CFontDialog *fontDialog
= NULL)
{
                CHARFORMAT cf;

                cf.cbSize = sizeof(CHARFORMAT);
                cf.dwMask = CFM_COLOR | CFM_FACE | CFM_SIZE | CFM_BOLD |
CFM_ITALIC | CFM_COLOR;
                if (cf.dwEffects & CFE_AUTOCOLOR) cf.dwEffects -= CFE_AUTOCOLOR;
                        cf.crTextColor = clr;
                // Get a color from the common color dialog.
                if(fontDialog != NULL)
                {
                        memcpy(cf.szFaceName, (fontDialog->GetFaceName()), 20);
                        cf.yHeight = fontDialog->GetSize();
                        cf.crTextColor = fontDialog->GetColor();
                        /*
                                这里你可以设置更多的字体样式
                        */
                }
                richEdit->SetSelectionCharFormat(cf);
                richEdit->ReplaceSel(sWord);
}

void Message(CRichEditCtrl *rich, LPCTSTR lpszMessage, COLORREF clr)
{
        CHARFORMAT cf;
        cf.cbSize = sizeof(CHARFORMAT);
        cf.dwMask = CFM_COLOR | CFM_FACE | CFM_SIZE | CFM_BOLD | CFM_ITALIC |
CFM_UNDERLINE;


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店