MFC 基于文本画图时 设置点击按钮画图 不知为何点击非客户区图形消失,求高手指点 菜鸟在此谢过了

voidCDATAView::OnMenuCoast(){CClientDCdc(this);CRectrect;GetClientRect(&rect);dc.SetM... void CDATAView::OnMenuCoast()
{
CClientDC dc(this);
CRect rect;
GetClientRect(&rect);
dc.SetMapMode(MM_ANISOTROPIC);
dc.SetWindowExt(abs(b)*2.2,abs(a)*2);//设置坐标范围,经度[-179~189],纬度[-86~86],经纬度坐标变换为直角坐标的值
dc.SetViewportExt(rect.right,-rect.bottom);//正北、正东为正方向
dc.SetWindowOrg(-abs(b)*1.1,abs(a));//设置原点在中心

for(i=0;i<sizeof(pDoc->flag)/4-1;i++)
{
dc.MoveTo(int(pDoc->cy[pDoc->flag[i]]),int(pDoc->cx[pDoc->flag[i]]));//画第一个点
testx0=int(pDoc->cx[pDoc->flag[i]]);
testy0=int(pDoc->cy[pDoc->flag[i]]);
for(j=pDoc->flag[i]+1 ;j<pDoc->flag[i+1];j++)
{
dc.LineTo(int(pDoc->cy[j]),int(pDoc->cx[j])); //画其余点
testx=pDoc->cx[j];
testy=pDoc->cy[j];
}

}

}
后来在OnDraw中添加函数,新的问题是不用点击按钮,图片自己就绘制了,哪里出了问题呢,求大家帮忙啊~~~拜托拜托~~~~~~
void CDATAView::OnDraw(CDC* pDC)
{
CDATADoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
OnMenuCoast();
}
展开
 我来答
归悦欣cf
2014-12-19 · TA获得超过1443个赞
知道大有可为答主
回答量:4250
采纳率:60%
帮助的人:1295万
展开全部
OnDraw函数会自动调用,增加一个条件判断就可以就是做一个条件判断如果条件满足才执行函数OnMenuCoast();
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式