MFC基本绘图—简单画图工具开发

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

pDC->SelectObject(&DrawBrush);
pDC->Rectangle(rc); //绘制带有填充样式的矩形 pDC->SelectObject(pOldBrush); }
实验步骤指导
1.应用AppWizard向导生成一个单文档应用程序 2. 增加若个按钮控制绘图工具和相关设置。
CBrush *pOldBrush=pDC->SelectObject(&BkBrush);
……….. ………..
CRect rcClient; pWnd->GetClientRect(rcClient); pDC->Rectangle(rcClient); //绘制背景颜色
CRect rc;
pWnd->GetClientRect(&rc); rc.SetRect(0,0,m_HPercent,m_VPercent);
画刷对象介绍
画刷对象的创建:可以使用CreateSolidBrush和CreateHatchBrush函数, 也可以使用构造函数 创建函数: BOOL CreateSolidBrush(COLORREF crColor) BOOL CreateHatchBrush(int nIndex, COLORREF crColor )

具体要求: a. 工具选择按钮: 直线 矩形 b.画笔颜色设置 RGB设置,利用edit设置 c.笔刷设置 RGB设置,利用edit设置

3. 增加消息相应处理函数完成绘图功能。
具体要求: a. 工具选择按钮: 直线 矩形 b.画笔颜色设置 RGB设置,利用edit设置 宽度 样式 c.笔刷设置 RGB设置,利用edit设置
0 1 2 3 4 5
void CListDlg::Draw()
{
CWnd* pWnd=GetDlgItem(IDC_STATIC_DRAW); CDC* pDC=pWnd->GetDC();
CBrush BkBrush, DrawBrush;
BkBrush.CreateSolidBrush(m_BkColor); DrawBrush.CreateHatchBrush(m_DrawPattern, m_ForeColor);

PS_SOLID PS_DASH PS_DOT
实线 虚线 点线 点划线 双点划线
0 1 2 3 4
PS_DASHDOT PS_DASHDOTDOT


PS_NULL
不可见线
内框线
5
6
PS_INSIDEFRAME
当线宽大于1时,线的风格只能取如下几种:
PS_SOLID, PS_NULL, PS_INSIDEFRAME,选其它风格无 效。
MFC实验1
MFC基本绘图—简单画图工具开发
实验目的:

了解Windows应用程序设计过程。 掌握利用AppWizard生产MFC应用程序的步骤。 熟悉基本图形相关的常用成员函数及其使用方法 掌握画笔和画刷的使用方法。
掌握输出消息处理函数和变量的设置方法。
画笔对象介绍
画笔对象的创建:可以使用CreatePen函数,也可以使用构造函数

创建函数: BOOL CreatePen(int nPenStyle,int nWidth,COLORREF crColor)

三个参数分别表示:线型,线宽,线的颜色。
构造函数: CPen( int nPenStyle,int nWidth,COLORREF crColor)
nPenStyle的7种线型


两个参数分别表示:刷子的填充样式,刷子的颜色。
构造函数: CBrush( COLORREF crColor ) CBrush( int nIndex ,COLORREF crColor)
nIndex填充样式的6种风格
水平线 竖直线 向下斜线 向上斜线 十字线 交叉线
Biblioteka Baidu
HS_HORIZONTAL HS_VERTICAL HS_BDIAGNAL HS_FDIAGONAL HS_CROSS HS_DIAGCROSS
9
实验任务布置

(1)在弄清基本概念,程序实例演示讲解的基础上, 要求能应用AppWizard向导生成一个具有编辑功能 的Windows单文档应用程序。


(2) 编辑控件和消息处理函数。
(3)利用绘图工具绘制图形
相关文档
最新文档