第4章菜单、工具栏与状态栏.ppt

  1. 1、本文档共123页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

您可能关注的文档

文档评论(0)

177****7942 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档