创建MFC单文档,实现金刚石图案绘制功能
来源:互联网 发布:源mac地址的作用 编辑:程序博客网 时间:2024/04/28 23:42
创建一MFC单文档的应用程序框架,在框架中添加代码或资源,实现具体应用;
系统自创各种类,不同类有不同的作用,也具有层次性;MFC一般采用视图/文档结构模式,是显示的内容与处理的数据分离开。
• 从【ClassView】面板可以看出
– CTestApp是应用的主函数类,用来处理消息。
– MFC中的数据是存储在CTestDoc类文档中
– 结果的显示是在CTestView类中
– 文档类负责管理和维护数据本身
– 视图类负责处理用户鼠标和键盘的操作
窗口最大化及窗口标题:
m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED);
m_pMainWnd->SetWindowText("金刚石图案绘制");
菜单栏与工具栏的关联:通过ID
对话框及相应的对话框的类:对话框的控件ID与对话框的类的成员的映射。对话框类继承与CDioalg;
用户也可根据需要创建一个普通类。
查看MFC文件代码,需要熟悉C++面向对象语言的相关知识
对象
类
类的成员函数
类的成员变量
成员变量的定义,初始化及使用,先定义后使用
成员函数的声明、定义及使用,规则:先声明后使用
构造函数与虚构函数特征及作用
虚函数
了解程序设计的文档结构
· 什么是客户区/非客户区?
· 窗口(框架/frame)的客户区和视图(view)的客户区的区别?
http://www.cnblogs.com/EverYoung/archive/2011/08/21/2147666.html
摘自:孔令德 图形图像教材
金刚石图案绘制算法设计:
读入等分点个数n和园的半径r;
计算金刚石图案的起始角和等分角;
将园的等分后的顶点坐标存于数组P中;
设计二重循环,连接起点P[i]到终点P[j]的线段。
代码实现:
voidCDiamondView::Diamond()
{
CDC * pDC=GetDC();//设备上下文指针
CRect rect;//定义矩形对象
GetClientRect(&rect);//获得客户区矩形的大小
pDC->SetMapMode (MM_ANISOTROPIC);//自定义坐标系
pDC->SetWindowExt(rect.Width(),rect.Height());//设置窗口比例
pDC->SetViewportExt(rect.Width(),rect.Height());//设置视区比例且y轴向上
pDC->SetViewportOrg(rect.Width()/2,rect.Height()/2);//设置客户区中心为坐标原点
rect.OffsetRect(-rect.Width()/2,-rect.Height()/2);//矩形与客户区重合
CPen NewPen,*pOldPen;//定义画笔
NewPen.CreatePen (PS_SOLID,1,RGB(0,0,255));//创建蓝色画笔
pOldPen=pDC->SelectObject(&NewPen);//将蓝色画笔选人设备上下文
double Alpha,Theta;
Theta=2*PI/n;//为等分角
Alpha=PI/2-Theta;//起始角
//极坐标求值
for(int i=0;i<n;i++)
{
P[i].x=r*cos(i*Theta+Alpha);
P[i].y=r*sin(i*Theta+Alpha);
}
//二重循环,连线(P[i]为起点,P[j]为终点)
for(i=0;i<=n-2;i++)
{
for(int j=i+1;j<=n-1;j++)
{
pDC->MoveTo(Round(P[i].x),Round(P[i].y));
pDC->LineTo(Round(P[j].x),Round(P[j].y));
}
}
pDC->SelectObject(pOldPen);//恢复设备环境中的元画笔
NewPen.DeleteObject ();//删除已成自由状态的蓝色画笔
ReleaseDC(pDC);//释放设备指针
}
- 创建MFC单文档,实现金刚石图案绘制功能
- 使用turbo C 绘制金刚石图案
- MFC---定时器和双缓冲机制绘制旋转的金刚石图案
- MFC单文档实现文件拖拽功能
- MFC 单文档创建过程
- MFC,单文档视图创建顺序
- MFC,单文档视图创建顺序 .
- OpenGL创建MFC单文档框架
- MFC单文档中创建多视图
- MFC单文档中创建多视图
- MFC单文档视图之图标资源加载及绘制
- MFC 单文档工程 实现单文档多视图
- MFC 单文档框架的主菜单创建时间
- [Windows]MFC单文档实现菜单切换
- MFC+OpenGL单文档实现图形旋转
- OpenGL MFC单文档 实现轨迹球
- 金刚石
- MFC单文档框架四个类的功能
- ant实现自动化部署
- OO模式-Composite
- 用HTML5来开发一款android本地化App游戏-宝石碰碰
- HDoj-1875-畅通工程再续-prim算法
- JAVA类框架总结
- 创建MFC单文档,实现金刚石图案绘制功能
- iOS开发——加载、滑动翻阅大量图片解决方案详解
- 绘制draw table里面的cell
- Java中List的排序
- python简单网络爬虫程序
- 工作之杂记--c# 使用wmi to start/stop IIS6 应用程序池和webserver
- Linux下apt命令
- 求圆柱体表面积
- C++继承中基类和派生类之间指针传递问题