2017.6.15 文本显示

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangxiaobei2017/article/details/73302611

好长时间没有学习MFC了,匆忙的五月份已经过去,经过了十佳,口语考试,三维建模考试,转眼就到了六月中旬了。剩下的这半个月要积极地把MFC学习起来,之前用的VC++学的MFC ,现在开始采用VS2013来学习。

我们利用MFC创建的单文档程序,来进行文本显示操作,由于窗口的变化会将现有的文档清空,为了保证文字始终出现在文档中,我们要在OnDraw函数中添加文本写入功能,代码如下(注:在VS2013中 CDC后面的pDC是被注释的,我们把它解注释即可)

void CTEXTView::OnDraw(CDC* /*pDC*/)
{
    CTEXTDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    if (!pDoc)
        return;

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

}

我们要利用 CSting 类 他 是MFC中创建文本常用的一个类,是由一个可变长度序列的字符组成,不需要另外开辟内存。我们尝试在屏幕是显示文字“机械工程”

void CTEXTView::OnDraw(CDC* pDC)
{
    CTEXTDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    if (!pDoc)
        return;

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

    //CString str("机械工程"); 方法一
    CString str;
    str = "机械工程";     // 方法二
    pDC->TextOut (50,50,str);

}

另外CString的类成员中的 LoadString 函数可以调用现有的字符串资源,然后利用TextOut将字符串显示到屏幕上。我们首先创建一个字符串资源,在资源视图中找到String Table (如图)
这里写图片描述
打开后在里面输入ID和标题
这里写图片描述

然后在程序中利用 LoadString 函数

void CTEXTView::OnDraw(CDC* pDC)
{
    CTEXTDoc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    if (!pDoc)
        return;

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

    str.LoadString(IDS_XIAOBEI);
    pDC->TextOutW(0,200,str);
}

结果如下
这里写图片描述

猜你喜欢

转载自blog.csdn.net/wangxiaobei2017/article/details/73302611