注册 登录
编程论坛 VC++/MFC

MFC输出文字

wayne951128 发布于 2015-02-08 15:48, 1147 次点击
一部分代码:   用Visual Studio 2013编的
void CtestMFCView::OnDraw(CDC* pDC)
{
    CtestMFCDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    if (!pDoc)
        return;
    tagRECT a = { 100, 100, 200, 200 };
    pDC->DrawText(_T("Hello MFC!"), &a, 1);

    // TODO:  在此处为本机数据添加绘制代码
}

中的pDC->DrawText("Hello MFC!", &a, 1);
改为
pDC->DrawText(_T("Hello MFC!"), &a, 1);
才对,为什么?
不改的话,为什么报错:不能将参数 1 从“const char [11]”转换为“const CString &”?
2 回复
#2
yuccn2015-02-09 15:13
unicode 问题,
#3
天使梦魔2015-02-09 15:14
vs默认以宽字符进行编译,主要为了适应各个国家的系统。你的配置器里可以改,默认是w_char,编码是utf8。你可以改成ascii的编码编译。
_T()   和    L""   都是vs自带的宏,它的作用是把字符转换成宽字符。
1