晕,乱码,帮忙看看

lichun3000 2006-12-30 10:18:42
wchar_t a = 0x221A;
CString str;
str=a;//"√";
AfxMessageBox(str);//正常

pDC->TextOut(0,0,str);//乱码 MFC MyView中OnDraw(CDC *pDC)
pDC->DrawText(str, rect, DT_NOCLIP | DT_NOPREFIX | DT_SINGLELINE | DT_LEFT | DT_VCENTER);//乱码
...全文
200 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lichun3000 2006-12-31
  • 打赏
  • 举报
回复
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT));
lf.lfHeight = 100;
strcpy(lf.lfFaceName, "宋体");
...

CFont ft;
ft.CreatePointFontIndirect(&lf,pDC);
CFont* pOldFont=pDC->SelectObject(&ft);
...
pDC->DrawText(str, rect, DT_NOCLIP | DT_NOPREFIX | DT_SINGLELINE | DT_LEFT | DT_VCENTER);
...
乱码的原因是用了那个字体,可是不用的话不知道怎么控制字的大小,应该怎样修改,好像是字库的问题
lichun3000 2006-12-30
  • 打赏
  • 举报
回复
先谢谢各位!
TO lizhizhe2000(彬彬) ( ):
void CMyView::OnDraw(CDC* pDC)
{
CMyDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDC->SetMapMode(MM_TEXT);

if(pDC->IsPrinting())
{
... ...
}
else
{
CRect rect;
GetClientRect(&rect);
... ...
}
}
没有什么特别的,需要怎样设置?


to:hdt(倦怠)
操作系统为WINDOWS XP SP2 ,中文,没有觉得有什么异常
真相重于对错 2006-12-30
  • 打赏
  • 举报
回复
中文windows没问题啊,lz 什么操作系统
lizhizhe2000 2006-12-30
  • 打赏
  • 举报
回复
当前设备场景的设置?
真相重于对错 2006-12-30
  • 打赏
  • 举报
回复
你的代码在我这显示没问题。无论是多字节还是unicode,
股神 2006-12-30
  • 打赏
  • 举报
回复
up

7,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧