- 1、本文档共123页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 4 章 菜单、工具栏与状态栏 3.创建快捷菜单 为应用程序添加一个快捷菜单,并将快捷菜单的菜单项设置为菜单栏中的相应项,如下图所示。 4.创建工具栏 为应用程序创建一个新的工具栏,并使工具栏上的各按钮与菜单栏中的菜单项相对应,如下图所示。 5.添加代码 (1)添加成员变量及成员函数 选择项目工作区中的ClassView视图,右击CSy5View,在弹出的快捷菜单中分别选择Add Member Variable和Add Member Function添加成员变量及成员函数,见下表。 成员变量 成员函数 在构造函数中初始化成员变量:? CSy5View::CSy5View () { m_typ=0; //初始时窗口中不显示曲线 m_col=RGB(0,0,0); //颜色初始为黑色 m_wid=1; //线宽初始为1 m_able=0; //初始时除“正弦”和“余弦”菜单项 外,新增的其他菜单项均为不可用 } (2) 添加成员函数代码 打开Sy5View.h文件,在类的定义前面添加代码: ? const double PI=3.1416; ? 打开Sy5View.cpp文件,添加如下文件包含代码: ? #include math.h #include MainFrm.h 为各成员函数添加代码:? double CSy5View::calsin(int x) { double y; y=sin(x*PI/180); //计算正弦 return y; } double CSy5View::calcos(int x) { double y; y=cos(x*PI/180); //计算余弦 return y; } void CSy5View::drawline(CDC* pDC,int x1, int y1, int x2, int y2) { pDC-MoveTo(x1,y1); pDC-LineTo(x2,y2); } void CSy5View::drawaxis(CDC *pDC) { CString str; CFont myfont,*oldfont; myfont.CreatePointFont(80,Arial,pDC); //定义坐标刻度字体 oldfont=pDC-SelectObject(myfont); drawline(pDC,50,10,50,290); //绘制Y轴 drawline(pDC,45,150,780,150); //绘制X轴 for(int i=50;i780;i=i+90) { drawline(pDC,i,145,i,150); //绘制X轴上刻度线 str.Format(%d,i-50); if((i-50)!=0) pDC-TextOut(i,155,str); //输出X轴上刻度值 } for(i=0;i11;i++) //绘制Y轴上刻度线,输出刻度值 { drawline(pDC,50,50+20*i,55,50+20*i); str.Format(%.2f,1-0.2*i); if(i!=5) pDC-TextOut(15,45+20*i,str); else pDC-TextOut(15,45+20*i,0); } pDC-SelectObject(oldfont); myfont.DeleteObject(); } void CSy5View::drawcurve(CDC* pDC) { drawaxis(pDC); //调用成员函数绘制坐标系 CPoint point[750]; CPen mypen,*oldpen; mypen.CreatePen(PS_SOLID,m_wid,m_col); //创建实线画笔。线宽及颜色由参数m_wid和m_col确定 oldpen=pDC-SelectObject(mypen); for(int i=0;i722;i++) { point[i].x=i+50; if(m_typ==1) //根据参数m_typ的值确定曲线类型 point[i].y=(int)(150-calsin(i)*100); else if(m_typ==2) point[i].y=(int)(150-calcos(i)
您可能关注的文档
- 第2节化学平衡移动原理和应用.ppt
- 第2课除旧布新梭伦改革.ppt
- 第2课时太平天国运动和辛亥革命.ppt
- 第2章Access数据库和其创建.docx
- 第2章Java基本语法.doc
- 第2章常用生活物品.PDF
- 第2章程序设计基础.ppt
- 第2章二维草图设计.PDF
- 第2章基础与地下室.PDF
- 第2章计算机图形系统.doc
- 2024年05月山东交通职业学院招考聘用博士研究生50人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽芜湖市弋江区老年学校(大学)工作人员特设岗位公开招聘2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东东营河口区教育类事业单位招考聘用22人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东交通职业学院招考聘用100人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东威海职业学院招考聘用高层次人才2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽石台县事业单位工作人员33人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东滨州市博兴县事业单位公开招聘考察笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽蚌埠固镇县湖沟镇选聘村级后备干部7人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东省安丘市教育和体育局所属事业单位学校公开2024年招考232名工作人员笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东临沂临港经济开发区工作人员(5人)笔试历年典型题及考点剖析附带答案含详解.docx
文档评论(0)