用VS2008的MFC写的CAD画图程序2017.12.15

您所在的位置:网站首页 简单的cad绘图 用VS2008的MFC写的CAD画图程序2017.12.15

用VS2008的MFC写的CAD画图程序2017.12.15

2023-09-03 05:04| 来源: 网络整理| 查看: 265

一、实现的功能

1、程序可以画点、直线、矩形、椭圆

2、可以设置线宽、颜色、字体,可以看到线型示例

3、可以显示鼠标点的坐标,可以显示系统时间

4、在IDR_MAINFRAME字符串里面直接更改程序标题

5、画图文件的重绘。

6、程序用VS2008编写,个人觉得,VC6.0就像windowsXP

VS2008就像Win10,习惯了就好

二、实现的功能图片

三、实现的过程与代码

3.1、添加的菜单项

1、IDM_DOT 点 IDM_LINE 线 IDM_RECTANGLE 矩形 IDM_ELLIPSE 椭圆

IDM_COLOR颜色 IDM_FONT 字体 IDM_SETTING

3.2、添加的对话框资源

1、IDD_DLG_SETTING 设置 IDC_LINE_WIDTH 线宽(线型默认设置)IDC_SAMPLE 示例

3.3、添加的成员变量

1、CGraphicview

UNITm_nDrawType;//保存绘图选择,分别为1、2、3、4、初始化为0

CPointm_ptOrigin;//保存鼠标当前按下的点,初始化为0

COLORREFm_clr;//将当前所绘画的颜色保存下来,初始化为RGB(255,0,0)

 

UNITm_nLineWidth;//保存线宽值,然后在画图程序中使用,初始化为0

intm_nLineStyle;//保存线型,画图时使用,初始化为0

 

CFontm_font;//选择一种字体 CString m_strFontName;//保存所选字体的名称

CPtrArray m_ptrArray;//集合类的变量保存对象值

 

2、设置对话框增加了一个新类CSettingDlg

UNITm_nLineWidth;//保存对话框选择的线宽 int m_nLineStyle;//保存对话框选择的线型

3、图形保存与重绘

UINT m_nDrawType;//保存绘图选择

CPoint m_ptOrigin;//保存起点

CPoint m_ptEnd;//保存终点

COLORREFm_clr;//保存颜色

 

3.3代码的实现过程

1、所有变量在构造函数中初始化

CGraphicView::CGraphicView()

{

     m_nDrawType=0;

     m_ptOrigin=0;

     m_nLineWidth=0;

     m_nLineStyle=0;

     m_clr=RGB(255,0,0);

     m_strFontName="";

}

2、在CGraphicView类添加命令响应(添加事件处理程序)

同时设置变量UNIT m_nDrawType;//保存绘图选择,分别为1、2、3、4、表示

点、直线、矩形、椭圆

程序实现代码:

void CGraphicView::OnDot()

{

 m_nDrawType=1;

}

void CGraphicView::OnLine()

{

 m_nDrawType=2;

}

void CGraphicView::OnRectangle()

{

 m_nDrawType=3;

}

void CGraphicView::OnEllipse()

{

 m_nDrawType=4;

}

3、在CGraphicView类增加鼠标左键按下和鼠标左键松开两个消息响应函数

在左键按下的时候保存起点

在左键松开的时候,实现画图功能

程序代码实现如下:

void CGraphicView::OnLButtonDown(UINTnFlags, CPoint point)

{

    m_ptOrigin=point;

    CView::OnLButtonDown(nFlags, point);



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3