(MFC问题)确定CScrollView中当前显示的客户区域的最佳方法是什么?我只需要可见部分的大小,因此GetClientRect()在这里不起作用。
答案 0 :(得分:2)
你需要使用GetClientRect(),但我认为你问的是错误的问题。在滚动视图中,有一个非常大的客户端窗口是物理滚动的。相反,当您滚动时,DC的视口文本和映射模式会被调整,这使得您的视图看起来比实际大。因此,如果要从当前视口右下角的左上角绘制一条线,则需要GetViewPortOrg()和GetViewportExt()。如果这些返回错误的值,则使用CScrollView时出错。你有没有打电话给SetScrollSizes()?
答案 1 :(得分:-1)
在OnDraw()函数中,您可以调用pDC-> GetViewportOrg和pDC-> GetViewportExt。
编辑:抱歉,我忘记了视口范围只是缩放因子。我同意你真正需要的是客户端矩形。
答案 2 :(得分:-1)