VC++ MFC中OnDraw 遇到的问题

各位大侠,你们好!我现在遇到这么一个问题,我在OnDraw函数中已经加入了我的输出文本,部分代码如下:CFontfont;font.CreatePointFont(100... 各位大侠,你们好!
我现在遇到这么一个问题,我在OnDraw函数中已经加入了我的输出文本,
部分代码如下:
CFont font;
font.CreatePointFont(100,"宋体");
CFont *pOldfont;
pOldfont=pDC->SelectObject(&font);
CString strtemp0;
CString strtemp1;
strtemp0="我自己的";
switch(m_pation) //m_pation为我进行判断的变量
{
case 0:
strtemp1="文本";
break;
case 1:
strtemp1="图像";
default:
break;

}
pDC->TextOut(0,0,strtemp0+strtemp1);
pDC->SelectObject(&pOldfont);
我已经定义了OnDraw的函数的触发条件,就是当我完成对话框参数设置后,调用Ivalidate()函数来触发OnDraw重画,而现在当我没有完成对话框参数前,VIEW视图中已经有了“我自己的”这四个字,也就是刚刚打开程序的时候就已经有了"我自己的"这四个字,我知道这四个字是在程序创建的过程中已经调用了我加的变量strtemp0了,而strtemp1这个值只有在我对话框设置后才会有值,现在的问题就是我希望在我完成参数之前,VIEW视图中不显示”我自己的“这四个字,只有当我在完成参数设置之后才显示,如何实现这个功能啊!帮帮小虾我吧!
问题已经解决了,我是在调用Invalidate()这个函数之前,将常量和变量加起来付给一个用于在OnDraw()的变量,而这个变量在OnDraw在初始化的时候为NULL,则VIEW中不显示任何文字,直到我完成所有参数设置,再触发Invalidate()迫使OnDraw重画,o(∩_∩)o...哈哈,这是我刚在发了提问后,突然逆向思维想起的。其实这个问题很简单的,希望大家发现问题的时候多动动脑子,我就是脑子一时进入了死胡同,所以才走了半天弯路。还有就是,大家还有别的解决办法的就直接后面跟帖,反正分已经在那了,过得去就给分!
展开
 我来答
药的后悔
2008-08-17
知道答主
回答量:5
采纳率:0%
帮助的人:0
展开全部
你C++很厉害么?~我没学过C++,可是网络三级要考上机,,怎么办啊?完全不懂。。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式