持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第11天,点击查看活动详情
一、实验目的及要求
实验要求: 1.理解自定义坐标系的实现; 2.熟悉MFC的常用语句; 3.准确、完整的交互式设计。
二、实验仪器设备与软件环境
Windows 7以上操作系统 Microsoft Visual Studio 2010
三、实验过程及实验结果分析
(包括实验原理、步骤、数据、图表、结果及分析。软件类实验应写出程序代码;硬件类实验画出电路原理图(或逻辑框图)、列出实验数据,并对实验结果进行分析)
主要实验步骤:
首先打开软件Microsoft Visual Studio 2010,并创建Test项目
具体操作如图所示:
建立完毕后,点击“调试/开始执行”,即可看到运行结果。
对资源视图中的Menu/ IDR_MAINFRAME进行操作。
删除选项:点击直接删除即可
修改选项:在相应地方直接输入。
同时修改新加的子菜单项,右击选择属性。
将ID修改为ID_DRAWPIC,或其他任意。
消息映射函数:
右击‘绘图’,点击添加事件处理程序。
消息类型:COMMAND;
类列表:CTestview;
函数处理程序名称: OnDrawapic
添加编辑
运行如图:
点击选项并无反应。
资源视图中dialog右击,添加资源,新建,删除取消按钮。
选择工具箱,static Text,拖入对话框相应位置(两个)。
右击static,属性,设置CAPTION为“等分点个数”,同理对第二个static修改为“圆的半径”。
选择工具箱,edit control,拖到对话框相应位置(两个)。
给“等分点个数”和“圆的半径”设置合理的范围值。 点击对话框任意空白处,添加类,输入类名CInputDlg。 点击空白处,类向导,选择CInputDlg,成员变量,数值范围自定义。
双击IDC_EDIT2添加变量成员“圆的半径”。 打开解决方案资源管理器,点击inputDlg.cpp,修改初始值30和200
CInputDlg::CInputDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(CInputDlg::IDD, pParent)
{
m_n = 30;
m_r = 200;
}
点击菜单,添加类,输入CP2,虚析构函数,完成。 P2.h中:
#pragma once
class CP2
{
public:
CP2(void);
virtual ~CP2();
public:
double x;
double y;
};
P2.cpp中:
CP2::CP2(void)
{
x=0;
y=0;
}
CP2::~CP2()
{
}
选择解决方案资源管理器,Testview.h,添加
#include “p2.h”
添加:
protected:
CP2 *P;
int n;
double r;
TestView.cpp中:
#include"math.h"
#define PI 3.1415926
#define Round(d) int(floor(d+0.5))
#include "InputDlg.h"
void CTestView::Ondrawpic()
{ CInputDlg dlg;
if(IDOK==dlg.DoModal())
{
n=dlg.m_n;
r=dlg.m_r;
}
else
return;
RedrawWindow();
P=new CP2[n];
Diamond();
delete []P;
}
运行结果及分析: