在一个CView的派生类的OnPrepareDC中:
CRect clientRect;
GetClientRect(clientRect);
pDC->SetMapMode(MM_ANISOTROPIC); // +y = down
pDC->SetWindowExt(400, 450);
pDC->SetViewportExt(clientRect.right, clientRect.bottom);
pDC->SetViewportOrg(0, 0);
这上面一段是什么意思?pDC->SetWindowExt和pDc->SetViewportExt有什么区别,这里的Viewport是一个什么概念?
VC++技术内幕。
http://www.vckbase.com/document/viewdoc.asp?id=312
SetWindowExt:设置窗口范围;
SetViewportExt:设置视图范围。
一般来说,窗口范围指的是你的窗口的大小,比如,你的窗口可能很大,是800*1600,这就需要滚动条,而视图的大小肯定不应该超过你的屏幕大小,只能显示一部分。
SetViewportOrg:设置视图的原点,就可以显示窗口的任何一部分。understand?
以上纯粹属于个人意见,不对的还请大虾们指正。
同意xiaobei525(汤姆) 的观点!