金刚石图案绘制

163 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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;                                         
}

运行结果及分析:

在这里插入图片描述