求助,不能正常应用中文字体(Unicode环境),
通过以下代码调出字体选择框,可以改变字体大小,正斜,就是不能应用不同的中文字体,为什么呢?代码如下:LOGFONT lf;
int i;
{
CClientDC dcScreen(NULL);
i = dcScreen.GetDeviceCaps(LOGPIXELSY);
} memset(&lf, 0, sizeof(LOGFONT)); lf.lfHeight = (i * font.height)/72;
lf.lfWeight = font.weight;
lf.lfItalic = (_TCHAR) font.italic;
lf.lfCharSet = DEFAULT_CHARSET;
_tcscpy(lf.lfFaceName, (_TCHAR const *) font.name);
CFontDialog dialog(&lf); dialog.m_cf.Flags |= CF_ANSIONLY | CF_BOTH;CF_TTONLY
dialog.m_cf.Flags &= ~CF_EFFECTS;
if (dialog.DoModal() == IDOK)
{
double d = -((lf.lfHeight * 72.0)/i);
font.height = (int) (d + 0.5);
font.weight = lf.lfWeight;
font.italic = lf.lfItalic;
font.name = lf.lfFaceName; return TRUE;
}
return FALSE;
通过以下代码调出字体选择框,可以改变字体大小,正斜,就是不能应用不同的中文字体,为什么呢?代码如下:LOGFONT lf;
int i;
{
CClientDC dcScreen(NULL);
i = dcScreen.GetDeviceCaps(LOGPIXELSY);
} memset(&lf, 0, sizeof(LOGFONT)); lf.lfHeight = (i * font.height)/72;
lf.lfWeight = font.weight;
lf.lfItalic = (_TCHAR) font.italic;
lf.lfCharSet = DEFAULT_CHARSET;
_tcscpy(lf.lfFaceName, (_TCHAR const *) font.name);
CFontDialog dialog(&lf); dialog.m_cf.Flags |= CF_ANSIONLY | CF_BOTH;CF_TTONLY
dialog.m_cf.Flags &= ~CF_EFFECTS;
if (dialog.DoModal() == IDOK)
{
double d = -((lf.lfHeight * 72.0)/i);
font.height = (int) (d + 0.5);
font.weight = lf.lfWeight;
font.italic = lf.lfItalic;
font.name = lf.lfFaceName; return TRUE;
}
return FALSE;
解决方案 »
- 怎么根据文本框内容自动控制静态文本框的大小
- _ApplicationPtr和CComPtr的区别
- 编译时候,vc 如何自动导入程序
- 北京高薪急聘:VC++软件开发工程师
- ###高手请帮帮忙~~类的调用和结构的调用
- 急!!!!我GOOGLE上不去了,我想可想被我这边的ISP给过滤掉了
- 在MFC程序的MDI窗体中,如何使其子窗口重绘???
- 钩子SendMessage
- 关于WM_CLOSE和OnCancel的问题
- 我的分数哪去了?
- vc.net中有什么办法 可以标记暂时被注释的 代码行?以避免在调试过程中注释掉的代码,最后忘记恢复呢?
- 基于多文档结构的图像处理程序,如果想将改变后的图像新开一个窗口,这样每一部操作后的图像都能出现在框架中,应该怎么做啊!谢谢!
英文的编码在任何时候都是一样的
所以没影响~~
中文的就不一样了
问题解决了."ANSI_CHARSET" 改一下就OK了.cFont.CreateFont(-height, 0, i, i, weight, (_TCHAR) font.italic, (_TCHAR) underline, 0, ANSI_CHARSET,
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, (_TCHAR) (FF_SWISS | DEFAULT_PITCH | TMPF_TRUETYPE), font.name);----->cFont.CreateFont(-height, 0, i, i, weight, (_TCHAR) font.italic, (_TCHAR) underline, 0, DEFAULT_CHARSET,
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, (_TCHAR) (FF_SWISS | DEFAULT_PITCH | TMPF_TRUETYPE), font.name);