用VS2008的MFC写的CAD画图程序2017.12.15 |
您所在的位置:网站首页 › 简单的cad绘图 › 用VS2008的MFC写的CAD画图程序2017.12.15 |
一、实现的功能 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 |