版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2-7 编写一个绘图程序,程序运行后,当用户在客户区窗口按下鼠标左键并移动时,根据鼠标移动的轨迹绘制出指定的线段。第一步:在这添加(红色加粗字体)class CMFC_52View : public CViewprotected: / create from serialization onlyCPoint m_ptOrigin;bool m_bDragging;HCURSOR m_hCross;第二步:在这添加(红色加粗字体)CMFC_52View:CMFC_52View()m_bDragging=false;m_hCross=AfxGetApp()->LoadStandardCurs
2、or(IDC_CROSS);/ TODO: add construction code here第三步:击鼠标右键打开类向导,添加WM_LBUTTONDOMN;WM_MOUSEMOVE;WM_LBUTTONUP;如图:然后在添加(红色加粗字体):void CMFC_52View:OnLButtonDown(UINT nFlags, CPoint point) SetCapture();:SetCursor(m_hCross);m_ptOrigin=point;m_bDragging=TRUE;/ TODO: Add your message handler code here and/or c
3、all defaultCView:OnLButtonDown(nFlags, point);void CMFC_52View:OnMouseMove(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call defaultif(m_bDragging)CClientDC dc(this);dc.MoveTo(m_ptOrigin);dc.LineTo(point);m_ptOrigin=point;CView:OnMouseMove(nFlags, point);void CMFC_52V
4、iew:OnLButtonUp(UINT nFlags, CPoint point) / TODO: Add your message handler code here and/or call defaultif(m_bDragging)m_bDragging=false;ReleaseCapture();CView:OnLButtonUp(nFlags, point);第四步:在这添加(红色加粗字体):BOOL CMFC_52App:InitInstance()AfxEnableControlContainer();。/ The one and only window has been i
5、nitialized, so show and update it.m_pMainWnd->ShowWindow(SW_SHOW);m_pMainWnd->UpdateWindow();m_pMainWnd->SetWindowText("简单的绘图程序");return TRUE;效果图:THE END2-8编写一个多文档程序,添加菜单项“绘图”,并为之添加菜单命令“直线”“圆”“矩形”“多边形”。当选中某个菜单后,在其对于的菜单命令前划一个勾,并把选择的结构显示在视图里。第一步:在这进行菜单添加,如图:(双击空白框即可进行编辑)第二步:打开类向导,添加
6、菜单命令处理函数,如图:第三步:一一添加完八个函数确定后,点Edit Code,添加如下函数:(红色加粗字体)void CMFC_53View:OnMfc53Line() CClientDC dc(this);dc.TextOut(100,100,"直线");/ TODO: Add your command handler code herem_mode=MODE_LINE;void CMFC_53View:OnMfc53Rectangle() CClientDC dc(this);dc.TextOut(200,200,"矩形");/ TODO: Add
7、 your command handler code herem_mode=MODE_RECTANGLE;void CMFC_53View:OnMfc53Polygon() CClientDC dc(this);dc.TextOut(150,150,"多边形");/ TODO: Add your command handler code herem_mode=MODE_POLYGON;void CMFC_53View:OnMfc53Circle() CClientDC dc(this);dc.TextOut(180,180,"圆");/ TODO: Ad
8、d your command handler code herem_mode=MODE_CIRCLE;void CMFC_53View:OnUpdateMfc53Circle(CCmdUI* pCmdUI) pCmdUI->SetCheck(m_mode=MODE_CIRCLE);/ TODO: Add your command update UI handler code herevoid CMFC_53View:OnUpdateMfc53Line(CCmdUI* pCmdUI) pCmdUI->SetCheck(m_mode=MODE_LINE);/ TODO: Add you
9、r command update UI handler code herevoid CMFC_53View:OnUpdateMfc53Polygon(CCmdUI* pCmdUI) pCmdUI->SetCheck(m_mode=MODE_POLYGON);/ TODO: Add your command update UI handler code herevoid CMFC_53View:OnUpdateMfc53Rectangle(CCmdUI* pCmdUI) pCmdUI->SetCheck(m_mode=MODE_RECTANGLE);/ TODO: Add your
10、command update UI handler code here第四步:点击这添加以下代码(红色加粗字体):#if _MSC_VER > 1000#pragma once#endif / _MSC_VER > 1000typedef enum eProgModeMODE_LINE,MODE_RECTANGLE,MODE_CIRCLE,MODE_POLYGONPROGMODE;class CMFC_53View : public CView。/ Attributespublic:CMFC_53Doc* GetDocument();PROGMODE m_mode;CPoint m
11、_ptStart, m_ptOldEnd;BOOL m_bDragging;BOOL m_bFirst;HCURSOR m_hCross; / Operations第五步:点击这添加以下代码(红色加粗字体):CMFC_53View:CMFC_53View()m_mode = MODE_LINE;m_bDragging = FALSE;m_bFirst = FALSE;m_hCross=AfxGetApp()->LoadStandardCursor(IDC_CROSS);/ TODO: add construction code here效果图:THE END2-9设计一个基于文档视图的应
12、用程序要求如下: 1) 建立单文档应用程序,并添加菜单项“绘图”,下面有菜单命令“直线”“矩形”“椭圆”。点击菜单时,弹出消息框提醒“你点击了XX菜单”。2) 工具条:给上述菜单添加相应的工具条按钮;3) 状态栏:在状态栏上添加一个面板,用于显示当前选择的绘图菜单操作;第一步:在这建立菜单资源,如图:第二步:打开类向导,添加菜单命令处理函数,如图:第三步:添加完四个函数确定后,点Edit Code,添加如下函数:(红色加粗字体)void CMFC_54View:OnMfc54Ellipse() MessageBox("你点击了椭圆菜单");CStatusBar*pStatu
13、s=(CStatusBar*)AfxGetApp()->m_pMainWnd->GetDescendantWindow(ID_VIEW_STATUS_BAR);if(pStatus)pStatus->SetPaneText(1,"你点击了椭圆菜单");/ TODO: Add your command handler code herevoid CMFC_54View:OnMfc54Line() MessageBox("你点击了直线菜单");CStatusBar*pStatus=(CStatusBar*)AfxGetApp()->m
14、_pMainWnd->GetDescendantWindow(ID_VIEW_STATUS_BAR);if(pStatus)pStatus->SetPaneText(1,"你点击了直线菜单");/ TODO: Add your command handler code herevoid CMFC_54View:OnMfc54Rectangle() MessageBox("你点击了矩形菜单");CStatusBar*pStatus=(CStatusBar*)AfxGetApp()->m_pMainWnd->GetDescendantWindow(ID_VIEW_STATUS_BAR);if(pStatus)pStatus->SetPaneText(1,"你点击了矩形菜单");/ TODO: Add your command handler code here第四步:在这添加工具栏按钮,操作如图:自己绘制相应的图形:双击新图标,设置工具栏属性,ID要与菜单上相应操作相同:一一完成“直线”,“矩形”,“椭圆”的设置。第
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医学伦理审查与法律法规的衔接
- 齿轮厂技术员管理细则
- 城市建筑垃圾处理工作方案
- XX中学2025-2026学年春季学期寒假教研活动总结汇报材料
- 福建省建瓯市芝华中学2026届高一生物第二学期期末考试模拟试题含解析
- 2026年春季语文教研组工作计划:时光织锦语漫漫骐骥奔腾逐新程
- XX初中2026年春季学期教职工代表大会校长工作报告
- 2026年介入放射三基三严题库及答案
- 吉林省吉林市蛟河市朝鲜族中学校2026届数学高一下期末教学质量检测模拟试题含解析
- 直流输电工程接地极线路运维安全
- 水平定向钻机 安全操作规程
- DBJ61-T 112-2021 高延性混凝土应用技术规程
- 2026版.北京版.高考总复习.语文1-专题五 非连续性文本阅读
- PCSK9抑制剂临床应用
- 2024年护士执业资格考试真题
- 个人信息保护规则及制度
- 胫腓骨骨折患者围手术期护理
- dbj41 建设工程造价咨询档案立卷标准
- 采掘作业规程培训课件
- 智能家具课件
- 钢筋梁板柱施工工艺
评论
0/150
提交评论