版权声明:本文为博主原创文章,未经博主允许不得转载。 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);
}
结果如下