请问,我的单文档程序里把CView改成CScrollView,并且设大小30000*20000
这时我想在里画直线
CClientDC dc(this);
dc.MoveTo(15000,15000);
dc.LineTo(15100,15100);
这时显示不出了;dc.MoveTo(0,0);
dc.LineTo(100,100);这个就可以。他是以我的客户区为坐标系。我怎么能画出
dc.MoveTo(15000,15000);
dc.LineTo(15100,15100);
????????
这时我想在里画直线
CClientDC dc(this);
dc.MoveTo(15000,15000);
dc.LineTo(15100,15100);
这时显示不出了;dc.MoveTo(0,0);
dc.LineTo(100,100);这个就可以。他是以我的客户区为坐标系。我怎么能画出
dc.MoveTo(15000,15000);
dc.LineTo(15100,15100);
????????
dc.MoveTo(0,0);
dc.LineTo(100,100);这个可以是因为不用拖动
我已经把滚动条滚到中心了,所以应该是dc.MoveTo(0,0);
dc.LineTo(100,100);没有,但事实是有,dc.MoveTo(15000,15000);
dc.LineTo(15100,15100);没有
要使用滚动条,绘图代码放在OnDraw函数中,在别处绘图也使用这个DC,
在视类中定义CDC *pMDC;
void CYourScrollView::OnDraw(CDC* pDC)
{
pMDC = pDC;
pMDC->MoveTo(15000,15000);
pMDC->LineTo(15100,15100);
}
void CYourScrollView::TestDrawLine()
{
pMDC->MoveTo(15000,15000);
pMDC->LineTo(15100,15100);
}
恩,这个我做过!但用CDC的话,我程序出错,我是在OnTimer()画图,用cdc就报错!
能不能再用其他的?
OnPrepareDC(&dc);
...
void CYourScrollView::OnTimer(UINT nIDEvent)
{
CClientDC dc(this);
OnPrepareDC(&dc);//dc转化 dc.MoveTo(15000,15000);;//使用逻辑坐标绘图,
dc.LineTo(15100,15100);
}