用MFC做画图软件

    最近学习MFC。想做一个画图软件。画图要画直线、椭圆、以及矩形等等。这里只以直线为例。

.画线

1.MFC(exe)——建立Single doccument

2.resources中单击Menu,再单击IDR_MAINFRAME

3.进入MEnu后,单击两下白色按钮,Caption中命名Tools

4.再单击两下Tools的下级菜单,ID中命名ID_Line,Caption中命名Line

5.右击Line按钮,选择ClassWizard,在Message Maps中,Classname中选择View类——Add Function

 点击ok即可。

6.点开classview并右击View并选择Add Windows Message handle并导入LBUTTOUDOWNLBUTTONUP

7.添加Add variableType中写CPointname中写x,选Private。同样再添加变量y

8.点击View中的ONLBUTTONDOWN在里面输入代码x=point;

9.OnLButtonUp里输入代码

   y=point;CClientDC dc(this);dc.MoveTo(x);dc.LineTo(y);Invalidate(false); 

10.可以了         

                           二.给线添色

1.在画线的基础上,首先在menu中添加颜色按钮,并在下一级中写上 自定义,ID_Zidingyi.添加类向导classwizardclassnameView类。command——Add function

2.classview中添加member variableTYPECOLORREF,名字为m_color,接着再添加画笔,类型CPen,名字为pen

3.OnLButtonUp里添加画笔,

CPen pen (PS_SOLID,1,m_color);//加在CClientDC dc(this)dc.SelectObject(&pen);之间

dc.SelectObject(&pen);

4.onzidingyi函数中加入

CColorDialog dlg ;

dlg.DoModal();

m_color=dlg.GetColor();                                             

             三.点自定义菜单弹出对话框

点菜单弹出一对话框

1.Resource中右击Dialog插入dialog。建立所需的对话框。

2.插入中选新建类命名Mydialog基于CDialog,在Classview中则存在了一个新类Mydialog

3.menu中添加一下拉菜单,命名自定义,ID_Define;,CMainView建立类向导。在onDefine中添加代码Mydialog diadia.DoModal();

4.但要想要运行程序还要在

#include “stdafx.h”

#include “huatuprogream.h”

#include “MyDialog.h”

#include “MainFrm.h”

#include “Mydialog.h” //添加此头文件

5.成功.

                          四.在弹出对话框中自定义线宽

1.MYDialog中定义inputm_1(定义Edit通过在Member  Variables中点AddVariables

2.onbutton1里加入下列代码:

UpdateData(true);//TRUE代表从外界传到内部

input=m_1;

CDialog::OnCancel();

3.Define中添加

MyDialog dia;

dia.DoModal();

n=dia.input;

4.CPen pen (PS_SOLID, n,m_COLOR);

 n即是线宽通过传递n的值来控制线宽,可在函数中定义。

 

来源:yuppyaiq

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2010年5月25日
下一篇 2010年5月26日

相关推荐