正在加载图片...
第13单元文档读写与打印 virtual void OnPrepareDC(CDC pDC, CPrint Info * Info=NULL) 然后添加该函数的定义,设置映射模式为 MM LOMETRIO: //设置映射模式 void CMyView: OnPrepareDC(CDC *pDC, CPrintInfo *pInfo pDC->SetMapMode( MM LOMETRIC CView:: OnPrepareDC (pDC, pInfo) 然后修改消息映射函数 OnLButton Down(),将物理坐标转换为逻辑坐标: /响应点击鼠标左键消息 void CMyView:: OnLBut ton Down ( UINT nFlags, CPoint point 取文档指针 ASSERT VALID (pDoc) CClientDC dc(this) /设置设备环境 OnPrepareDC(&dc) int r= rand(%50+5 //生成泡泡 CRect rect(point x-r, point. y-r, point x+r, point. y+r) InvalidateRect(rect, FALSE);//更新视图 dc. DPtoLP(rect //转换物理坐标为逻辑坐标 pDoc->AddBubble(rect /修改文档数据 Doc->Set ModifiedFlag( //设置修改标志 输入输出:用鼠标左键在窗口客户 无-泡 区吹泡泡。使用文件菜单中的打印选项 可打印窗口图象,图象位于打印纸上部 比例恰当,如图13-2所示 oo○.° 分析:由于 OnDraw()函数 输出使用逻辑坐标,所以存储数据(泡 泡的包含矩形)也使用逻辑坐标。在 OnLButton Down()函数中鼠标位置参 数 point为物理坐标,首先据此生成泡泡 的包含矩形(物理坐标),更新窗口客户 区的相关区域(物理坐标),然后将物理图13-2使用映射模式 MM LOMETRIC的打印效果 坐标的泡泡包含矩形转换为逻辑坐标并 存入文档。 CView类的虚函数 OnPrepareDO()用于设置设备环境,其原型为:第 13 单元 文档读写与打印 - 260 - virtual void OnPrepareDC(CDC *pDC, CPrintInfo *pInfo=NULL); 然后添加该函数的定义,设置映射模式为 MM_LOMETRIC: // 设置映射模式 void CMyView::OnPrepareDC(CDC *pDC, CPrintInfo *pInfo) { pDC->SetMapMode(MM_LOMETRIC); CView::OnPrepareDC(pDC, pInfo); } 然后修改消息映射函数 OnLButtonDown(),将物理坐标转换为逻辑坐标: // 响应点击鼠标左键消息 void CMyView::OnLButtonDown(UINT nFlags, CPoint point) { CMyDoc* pDoc = GetDocument(); // 取文档指针 ASSERT_VALID(pDoc); CClientDC dc(this); // 设置设备环境 OnPrepareDC(&dc); int r = rand()%50+5; // 生成泡泡 CRect rect(point.x-r, point.y-r, point.x+r, point.y+r); InvalidateRect(rect, FALSE); // 更新视图 dc.DPtoLP(rect); // 转换物理坐标为逻辑坐标 pDoc->AddBubble(rect); // 修改文档数据 pDoc->SetModifiedFlag(); // 设置修改标志 } 输入输出:用鼠标左键在窗口客户 区吹泡泡。使用文件菜单中的打印选项 可打印窗口图象,图象位于打印纸上部, 比例恰当,如图 13-2 所示。 分 析:由于 OnDraw()函数 输出使用逻辑坐标,所以存储数据(泡 泡的包含矩形)也使用逻辑坐标。在 OnLButtonDown()函数中鼠标位置参 数 point 为物理坐标,首先据此生成泡泡 的包含矩形(物理坐标),更新窗口客户 区的相关区域(物理坐标),然后将物理 坐标的泡泡包含矩形转换为逻辑坐标并 存入文档。 CView 类的虚函数 OnPrepareDC()用于设置设备环境,其原型为: 图 13-2 使用映射模式 MM_LOMETRIC 的打印效果
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有