MFC绘图2-客户区大小和DC
MFC绘图2-客户区大小和DC 客户区大小和DC 在绘图前,必须先得到客户区大小和设备上下文DC。 1.获得客户区 绘图一般都是在视图窗口的客户区进行,而客户区的大小在运行时可由用户改变,为了使绘制的图形能随窗口大小自动改变,必须先得到当前客户区大小的数据(宽w和高h)。 获取客户区大小的方法有如下两种: 1)在消息响应函数OnSize中获得 利用属性窗口的信息页,在视图类中添加WM_SIZE消息的响应函数OnSize。该函数在窗口第一次显示或窗口大小被改变时会被Windows系统调用。其输入参数中的cx和cy就是客户区大小的宽和高,可将它们赋值给类变量(如m_iW和m_iH)供绘图时使用。例如 void CDrawView::OnSize(UINT nType, int cx, int cy) { CView::OnSize(nType, cx, cy); // TODO: 在此处添加消息处理程序代码 m_iW = cx; m_iH = cy; } 其中,nType的值为: <!--[if !supportLists]-->l <!--[endif]-->SIZE_MAXIMIZED(窗口已被最大化) <!--[if !supportLists]-->l <!--[endif]-->SIZE_MINIMIZED(窗口已被最小化) <!--[if !supportLists]--