MFC 在picture控件中画图可是不显示20分在线等急急急急

我在对话框里增加了一个picture控件,关联了一个CString变量picone,想画一个统计图,在控件所在对话框类添加了一个onpaint函数,我在oninitdia... 我在对话框里增加了一个picture控件,关联了一个CString变量picone,想画一个统计图,在控件所在对话框类添加了一个onpaint函数,我在oninitdialog里调用了它(我其实不会用ONPAINT,这是自己乱想的),但是运行时picture里什么都没有啊,到底该怎么办???下面是我的onpaint里代码,其中number是对话框类的一个成员npic也是,但我对npic赋值是在声明了对话框对象之后不知道会不会有问题
CPen newpen(PS_SOLID,2,RGB(0,0,0));
CRect r;
CDC *pDC=picone.GetDC();
picone.GetClientRect(&r);
CPen *oldpen;
oldpen=pDC->SelectObject(&newpen);
number[0]=10;
number[1]=_ttoi(npic2);
number[2]=_ttoi(npic3);
number[3]=_ttoi(npic4);
pDC->MoveTo(r.left,r.bottom);
float xlen=r.Width()/5;
float ylen=r.Height()/10;
pDC->LineTo(r.left+xlen,number[0]*ylen+r.bottom);
展开
 我来答
bhtzu
推荐于2016-01-29 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4212万
展开全部
oninitdialog是对话框初始化函数,这个函数被调用后,默认会调用一次Invalidate,触发重绘。因此在该函数内的绘图操作是无效的,重绘会调用Onpaint函数,将这里的绘图覆盖掉,不要在这里调用OnPaint。

如果这个代码在标准的消息WM_PAINT重载函数OnPaint中(通过ClassWizard等重写得到),那么代码本身没有问题,在资源中看看图片框属性,选中“自绘”选项。
匿名用户
2014-09-21
展开全部
关联控件变量CStatic...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式