谁能解释一下奇怪的MFC问题.

hjm168 2009-05-25 07:24:51
我刚开始学MFC编程,碰到一个奇怪的问题,谁能解释一下?

我在View的对角窗口上画一对交叉线,用以下代码无问题:
void CMy210View::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CRect rect;
GetClientRect (&rect);
CClientDC dc(this);
dc.MoveTo(rect.left, rect.top);
dc.LineTo(rect.right , rect.bottom);
dc.MoveTo(rect.right, rect.top);
dc.LineTo(rect.left, rect.bottom);

CView::OnLButtonDown(nFlags, point);
}
但用以下代码虽然也画出了交叉线,但不在View的窗口对角:
void CMy210View::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CRect rect;
GetClientRect (&rect);
CClientDC dc(this);
dc.MoveTo(rect.top, rect.left);
dc.LineTo(rect.bottom, rect.right);
dc.MoveTo(rect.top, rect.right);
dc.LineTo(rect.bottom, rect.left);

CView::OnLButtonDown(nFlags, point);
}
只不过是交换了顺序而已,我跟踪调试看到的Rect值也是完全一样的,为什么会画出不同结果呢?谁能解释一下呢?
...全文
138 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjm168 2009-05-28
  • 打赏
  • 举报
回复
不是其它问题,1楼说的是正解.谢谢各位.
hjm168 2009-05-28
  • 打赏
  • 举报
回复
谢谢大家啊,我刚初学嘛,不是说学编程要多练吗?所以改变一下,看有什不同的结果.
结果发现前面的代码对,后面的不行,所以觉得奇怪,就拿来问你们了.
现在想来觉得自己都好笑.是坐标的问题.
也不是数学不好,是不聪明,人太笨,当时就觉得奇怪,只浅显的想到是用笔在纸上画对角.
谢谢各位指教.小弟不慎感激.
菜牛 2009-05-26
  • 打赏
  • 举报
回复
是很奇怪啊,为什么你倒立的时候上下颠倒呢,只不过是(头和屁股)交换了顺序而已。
coolboyby 2009-05-26
  • 打赏
  • 举报
回复
MoveTo和LineTo的参数含义你没搞懂,
xinglsm 2009-05-25
  • 打赏
  • 举报
回复
估计数学没学好
zbsee 2009-05-25
  • 打赏
  • 举报
回复
晕倒,这样的问题
Allen_zhang 2009-05-25
  • 打赏
  • 举报
回复
呵呵,先查查MSDN中MoveTo和LineTo的参数
然后看看坐标吧
wltg2001 2009-05-25
  • 打赏
  • 举报
回复
这不是废话吗,就像平面直角坐标系中(2,1)点和(1,2)点是一个点吗?
maple_zhj 2009-05-25
  • 打赏
  • 举报
回复
哈哈,路过,什么都没看到。
羽毛乱发 2009-05-25
  • 打赏
  • 举报
回复
rect的参数含义你搞错了,

15,979

社区成员

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

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