我将文本中的字体设置成粗体后,英文字符都能正确显示成粗体,
为什么汉字却没有变化。
为什么汉字却没有变化。
解决方案 »
- 急:m_wndList.Create(this, 1234, CRect(0,0,200,400));这句代码在debug下错误,但Release下可以?
- 用CRectTracker后,当拉伸了该图形后,怎样取得其长,宽及各顶点的坐标等参数?
- 请问如何定义一个Cstatic的Text
- VC++6编译时的一个问题,
- 我用程序在一个目录下创建一临时的二进制文件是报错,帮我看看?
- 请大家提供-下关于B/s架构方面的资料,网站!多谢
- 那里有<windows核心编程>下载?
- 如何改变工具条中编辑控件的背景颜色?
- WM_PAINT 中的BeginPaint
- 一个关于屏幕刷新的问题和汉字显示的问题!
- 关于一个线程调用的问题,急啊!!!!!
- 求助:用MFC自动化操作Excel,有没有简单的方法向表里追加数据?
GetDefaultCharFormat(cf);//得到默认字体格式
cf.dwMask |= CFM_BOLD;
cf.dwEffects |= CFE_BOLD;
SetSel(0, -1);//选择所有文本
SetSelectionCharFormat(cf); //设为粗体---------
++C++
---------
详情请看:
Here:
/*************************************************
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 : 无
Re : 只要调用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;
if (cf.dwEffects & CFE_AUTOCOLOR) cf.dwEffects -= CFE_AUTOCOLOR;
// Get a color from the common color dialog.
cf.crTextColor = clr;
cf.dwMask = CFM_COLOR;
rich->SetSelectionCharFormat(cf);
rich->ReplaceSel(lpszMessage);
}
再来一次,用FontPage做了一次!
Here:<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
</head><body><p><br>
<br>
/*************************************************<br>
Function : void SetWordsFont(CRichEditCtrl *richEdit, <br>
LPCTSTR sWord1, COLORREF clr1, <br>
LPCTSTR sWord2, COLORREF clr2, <br>
LPCTSTR sWord3, COLORREF clr3, <br>
LPCTSTR sWord4, CFontDialog *fontDialog)<br>
Class : 无<br>
Description : 对聊天室发送消息内容,按用户定制输出到屏幕上<br>
Input : 9个参数<br>
Output : 无<br>
Return : 无<br>
Re : 只要调用SetWordsFont()这一个函数就行了,你只要把SetMsg(),Message()<br>
添加到你的cpp文件里就行了!所以你不必管SetMsg()和Message()!<br>
例如一个典型的例子:<br>
张三 哭着 对所有人 说: 你明天有空吗?<br>
某人 表情 某人 动作 内容<br>
<br>
Author : liuYou<br>
Date : 2003-12-18 17:35<br>
*************************************************/<br>
void SetWordsFont(CRichEditCtrl *richEdit, <br>
LPCTSTR sWord1, COLORREF clr1, //某人<br>
LPCTSTR sWord2, COLORREF clr2, //表情<br>
LPCTSTR sWord3, COLORREF clr3, //某人<br>
LPCTSTR sWord4, COLORREF clr4, //动作<br>
LPCTSTR sWord5, CFontDialog *fontDialog)//内容<br>
{<br>
Message(richEdit, sWord1, clr1); //张三<br>
Message(richEdit, sWord2, clr2); //哭着<br>
Message(richEdit, sWord3, clr3); //对所有人<br>
Message(richEdit, sWord4, clr4); //说:<br>
SendMsg(richEdit, sWord5, fontDialog->GetColor(), fontDialog);//你明天有空吗?<br>
}<br>
<br>
void SendMsg(CRichEditCtrl *richEdit,<br>
LPCTSTR sWord, COLORREF clr, <br>
CFontDialog *fontDialog = NULL)<br>
{<br>
CHARFORMAT cf; <br>
<br>
cf.cbSize = sizeof(CHARFORMAT);<br>
cf.dwMask = CFM_COLOR | CFM_FACE | CFM_SIZE | CFM_BOLD | CFM_ITALIC | CFM_COLOR;<br>
if (cf.dwEffects & CFE_AUTOCOLOR) cf.dwEffects -= CFE_AUTOCOLOR;<br>
cf.crTextColor = clr;<br>
// Get a color from the common color dialog.<br>
if(fontDialog != NULL)<br>
{<br>
memcpy(cf.szFaceName, (fontDialog->GetFaceName()), 20);<br>
cf.yHeight = fontDialog->GetSize();<br>
cf.crTextColor = fontDialog->GetColor();<br>
/* <br>
这里你可以设置更多的字体样式<br>
*/<br>
}<br>
richEdit->SetSelectionCharFormat(cf);<br>
richEdit->ReplaceSel(sWord);<br>
}<br>
<br>
void Message(CRichEditCtrl *rich, LPCTSTR lpszMessage, COLORREF clr)<br>
{<br>
CHARFORMAT cf;<br>
cf.cbSize = sizeof(CHARFORMAT);<br>
cf.dwMask = CFM_COLOR | CFM_FACE | CFM_SIZE | CFM_BOLD | CFM_ITALIC | CFM_UNDERLINE;<br>
if (cf.dwEffects & CFE_AUTOCOLOR) cf.dwEffects -= CFE_AUTOCOLOR;<br>
// Get a color from the common color dialog. <br>
cf.crTextColor = clr;<br>
cf.dwMask = CFM_COLOR;<br>
rich->SetSelectionCharFormat(cf);<br>
rich->ReplaceSel(lpszMessage);<br>
<br>
<br>
}</p></body></html>
不玩了Sleep(10e999999999999999999);