用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的值来控制线宽,可在函数中定义。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值