在这样一种情况下DC画不出来线,是什么原因

天鹅梦 2005-12-15 06:14:17
首先我重载了OnPrepareDC如下:
void CXXView::OnPrepareDC(CDC* pDC, CPrintInfo* pInfo)
{

CScrollView::OnPrepareDC(pDC, pInfo);

pDC->SetMapMode(MM_ANISOTROPIC);
pDC->SetWindowExt(100, -100);
pDC->SetViewportExt(pDC->GetDeviceCaps(LOGPIXELSX),
pDC->GetDeviceCaps(LOGPIXELSY));

CPoint ptOrg;
ptOrg.x = GetDocument()->GetSize().cx / 2;
ptOrg.y = GetDocument()->GetSize().cy / 2;

pDC->OffsetWindowOrg(-ptOrg.x,ptOrg.y);

}
然后得到这样一个矩形rect(top=316,bottom=316,left=-316,right=-320)后,无论如何画不出来下面这条直线
pDC->MoveTo(rect.TopLeft());
pDC->LineTo(rect.BottomRight());

请问这是什么原因呢?
...全文
112 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
天鹅梦 2005-12-17
  • 打赏
  • 举报
回复
算了,没人会,我改MM_TEXT模式好了,结贴
寻开心 2005-12-16
  • 打赏
  • 举报
回复
按照你的映射方式,原点在屏幕的中心, y坐标轴向上,100个单位对应1英寸
现在怀疑的就是你的矩形超出了屏幕的范围
天鹅梦 2005-12-15
  • 打赏
  • 举报
回复
是没有画,我是在交互绘图,按下一点后,随鼠标移动程序会画线,有橡皮筋的处理,但同时也会移动起始点,也就是画出来的线可以边画边移动,向下、向左画没问题,可以看到,但向上、向右画就只有点在移动了,根本不出来线,如何解决?
sinsou 2005-12-15
  • 打赏
  • 举报
回复
呵呵,画是画了,只是看不到
寻开心 2005-12-15
  • 打赏
  • 举报
回复
不在视口可见范围内

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧