建立一个基于对话框的MFC应用,项目名称为“sinGraph”。(具体步骤略) 1. 视图->工具箱->拖入Button按钮。 2. 右键按钮Button1->点击属性->ID修改为 “IDC_SIN“、描述文字修改为“正弦曲线”。 3. 右键“正弦曲线”按钮,选择“添加事件处理程序”,注意程序“类列表”选择CsinGraphDlg;消息类型、函数名按缺省即可。 4. 在添加的程序void CsinGraphDlg::OnBnClickedSin()中添加一下代码: // TODO: 在此添加控件通知处理程序代码 CRect rect;//这里定义一个GRect类对象,是关于视图窗口数据的 GetClientRect(rect);//得到相对于窗口客户区的坐标。 CDC* pDC = GetDC(); //获得程序当前设备上下文的句柄 /// //以下语句是定义坐标系,可以看做是绘图前的准备工作 pDC->SetMapMode(MM_ANISOTROPIC); //选择自定义坐标系模式 pDC->SetWindowExt(rect.Width(), rect.Height()); //设置逻辑窗口尺寸 pDC->SetViewportExt(rect.Width(), -rect.Height()); //设置窗口物理尺寸 pDC->SetViewportOrg(rect.Width() / 5, rect.Height() / 2);//设置原点 rect.OffsetRect(-rect.Width() / 5, -rect.Height() / 2);//将rect的值重置 /// //利用缺省颜色绘制坐标轴 pDC->MoveTo(0, rect.Height()*0.25); pDC->LineTo(0, -rect.Height() * 0.25); //绘制纵轴 pDC->MoveTo(0,0); pDC->LineTo(rect.Width() * 0.6, 0); //绘制横轴 /// //利用红色绘制正弦曲线 CPen redPen, * oldPen; redPen.CreatePen(PS_SOLID, 3, RGB(255, 0, 0)); //生成红色绘图笔 oldPen = pDC->SelectObject(&redPen); //将红色绘图笔选入 pDC->MoveTo(0,0); //绘图起点 #define PI 3.1415 for (int i = 0; i |