摘要: 5.清屏Windows没有提供专门的清屏函数,可以调用CWnd的下面两个函数调用来完成该功能:void Invalidate(BOOL bErase = TRUE);void UpdateWindow( );或调用CWnd的函数BOOL RedrawWindow( LPCRECT lpRectUpdate = NULL, CRgn* prgnUpdate = NULL, UINT flags = RDW_INVALIDATE | RDW_UPDATENOW | RDW_ERASE );来完成。例如(菜单项ID_CLEAR的事件处理函数):CDrawView::OnClear() { // 调用 阅读全文
posted @ 2011-10-11 11:20 有名太累,无名轻松 阅读(10728) 评论(0) 推荐(0) 编辑
摘要: .面色(刷)在Windows中,面状图必须用刷(brush)来填充,所以面色是由刷色来确定的。MFC中的刷类为CBrush(它也是CGDIObject的派生类),刷的创建与使用的步骤与笔的相似。构造函数有4个:CBrush( ); // 创建一个刷的空对象CBrush( COLORREF crColor ); // 创建颜色为crColor的实心刷CBrush( int nIndex, COLORREF crColor ); // 创建风格由nIndex指定且颜色为crColor的条纹(hatch孵化)刷,其中nIndex可取条纹风格(Hatch Styles)值:符号常量 数字常量 风格HS 阅读全文
posted @ 2011-10-11 11:19 有名太累,无名轻松 阅读(3455) 评论(0) 推荐(0) 编辑
摘要: 绘图一般在视图类的(屏幕/打印机)绘图消息响应函数OnDraw中进行,例如:void CTestView::OnDraw(CDC* /*pDC*/) { CTestDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: 在此处为本机数据添加绘制代码}每次需要重绘窗口时(程序启动/窗口大小改变/全部或部分窗口重现/程序员调用RedrawWindow或UpdateWindow),应用程序框架都会调用该CWnd的消息响应成员函数(的覆盖)来绘制窗口客户区。在Windows中,绘图一般在视图窗口的客户区进行, 阅读全文
posted @ 2011-10-11 11:17 有名太累,无名轻松 阅读(1856) 评论(0) 推荐(0) 编辑