当前位置:首页 > 代码 > 正文

mfc画图程序源代码(用mfc编写画图程序)

admin 发布:2022-12-19 17:01 129


今天给各位分享mfc画图程序源代码的知识,其中也会对用mfc编写画图程序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

MFC程序它的全部源代码在哪里找?

6.0的

D:\Program Files\Microsoft Visual Studio\VC98\MFC

2003的

D:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\atlmfc

可能安装目录不同,位置也不同,你可以进高度模式进去看源文件,

2003也可以在classView中看到

VC6.0的MFC画图的和面的代码怎么加

1、声明成员变量CBrush m_brush;

2、在InitDialog中添加代码:

CBitmap bmp;

bmp.LoadBitmap(IDB_BITMAP1); //这个IDB_BITMAP1要自己添加

m_brush.CreatePatternBrush(bmp);

3、重载对话框的OnCtlColor,改最后的返回值:

return (HBRUSH)m_brush;

MFC画图程序的代码和具体步骤,请发送到dawn213@vip.qq.com,谢谢。。。

在MFC AppWized(exe)项目下做。界面自己做

1.在对话框的头文件CalculatorDlg.h中添加#includemath.h

2.为CCalculatorDlg类添加成员数据和成员函数

double number1,number2;

int NumberState,OperationState;

void cal();

并在CCalculatorDlg类的构造函数中增加NumberState=1;

3.添加消息按钮afx_msg void OnNumberKey(UINT nID);

afx_msg void OnOperationKey(UINT nID);

4.在CalculatorDlg.cpp文件中BEGIN_MESSAGE_MAP(CMy1Dlg, CDialog)和END_MESSAGE_MAP()间添加代码

ON_COMMAND_RANGE(IDC_NUMBER1,IDC_NUMBER10,OnNumberKey)

ON_COMMAND_RANGE(IDC_NUMBER11,IDC_NUMBER20,OnOperationKey)

5.为成员函数OnNumberKey和OnOperationKey添加代码

void CCalculatorDlg::OnNumberKey(UINT nID)

{

int n=0;

switch(nID)

{

case IDC_NUMBER1:n=1;break;

case IDC_NUMBER2:n=2;break;

case IDC_NUMBER3:n=3;break;

case IDC_NUMBER4:n=4;break;

case IDC_NUMBER5:n=5;break;

case IDC_NUMBER6:n=6;break;

case IDC_NUMBER7:n=7;break;

case IDC_NUMBER8:n=8;break;

case IDC_NUMBER9:n=9;break;

case IDC_NUMBER10:n=0;break;

}

if(NumberState==1)

{

m_result=m_result*10+n;

number1=m_result;

UpdateData(FALSE); // 更新编辑框中的值

}

else

{

m_result=m_result*10+n;

number2=m_result;

UpdateData(FALSE);

}

}

void CCalculatorDlg::OnOperationKey(UINT nID)

{

switch(nID)

{

case IDC_NUMBER13: // "/"按钮

OperationState=1;

UpdateData(FALSE);

m_result=0;

NumberState=2;

break;

case IDC_NUMBER14: // "*"按钮

OperationState=2;

UpdateData(FALSE);

m_result=0;

NumberState=2;

break;

case IDC_NUMBER15: // "+"按钮

OperationState=3;

UpdateData(FALSE);

m_result=0;

NumberState=2;

break;

case IDC_NUMBER16: // "-"按钮

OperationState=4;

UpdateData(FALSE);

m_result=0;

NumberState=2;

break;

case IDC_NUMBER17: // "C"按钮,撤消用,不需要可以删除

number1=number2=m_result=0;

UpdateData(FALSE);

NumberState=1;

break;

case IDC_NUMBER20: // "="按钮

cal(); // 调用cal成员函数

break;

}

}

6.为成员函数cal()添加代码

void CCalculatorDlg::cal()

{

switch(OperationState)

{

case 1:

m_result=(double)number1/number2;

UpdateData(FALSE); // 更新编辑框中的结果

number1=m_result; // 把此次的运算结果作为下一次运算的第一个操作数

NumberState=2; // 下次输入的数作为第二个操作数

break;

case 2:

m_result=number1*number2;

UpdateData(FALSE); // 更新编辑框中的结果

number1=m_result;

NumberState=2;

break;

case 3:

m_result=number1+number2;

UpdateData(FALSE); // 更新编辑框中的结果

number1=m_result;

NumberState=2;

break;

case 4:

m_result=number1-number2;

UpdateData(FALSE); // 更新编辑框中的结果

number1=m_result;

NumberState=2;

break;

}

OperationState=0;

}

注意按钮的ID号要和程序中的ID号相同!!!!要不然会有的按钮点击没反应……

求一个MFC画图源码,就是用MFC编写的 谢谢了 谢谢各位大GG 谢谢哦 522138978@qq.com

重新定义一个类,用这个类来保存画图的类型,起点,终点:

class CGraph

{

public:

UINT m_dwsytle;

CPoint m_dnpt;

CPoint m_uppt;

CGraph();

CGraph(UINT style,CPoint dnpt,CPoint uppt);

virtual ~CGraph();

};

CGraph::CGraph(UINT style,CPoint dnpt,CPoint uppt)

{

m_dwsytle=style;

m_dnpt=dnpt;

m_uppt=uppt;

}

为VIEW类增加:

CPtrArray m_ptrArray;

void CGraphicView::OnLButtonUp(UINT nFlags, CPoint point)中的代码增加下面代码:

CGraph *pgraph=new CGraph(m_dwstyle,m_dnpt,point);

m_ptrArray.Add(pgraph);

void CGraphicView::OnDraw(CDC* pDC)

{

CGraphicDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

CClientDC dc(this);

CBrush *pBrush=(CBrush*)dc.SelectStockObject(NULL_BRUSH);

int count=m_ptrArray.GetSize();

for (int i=0;icount;i++)

{

switch (((CGraph*)m_ptrArray.GetAt(i))-m_dwsytle)

{

case 1:

dc.SetPixel(((CGraph*)m_ptrArray.GetAt(i))-m_dnpt,RGB(255,0,0));

break;

case 2:

dc.MoveTo(((CGraph*)m_ptrArray.GetAt(i))-m_dnpt);

dc.LineTo(((CGraph*)m_ptrArray.GetAt(i))-m_uppt);

break;

case 3:

dc.Rectangle(CRect(((CGraph*)m_ptrArray.GetAt(i))-m_dnpt,

((CGraph*)m_ptrArray.GetAt(i))-m_uppt));

break;

case 4:

dc.Ellipse(CRect(((CGraph*)m_ptrArray.GetAt(i))-m_dnpt,

((CGraph*)m_ptrArray.GetAt(i))-m_uppt));

break;

default:

break;

}

}

dc.SelectObject(pBrush);

// TODO: add draw code for native data here

}

就可以了。

mfc画图程序源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于用mfc编写画图程序、mfc画图程序源代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/14611.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载