MFC计算器总结
来源:互联网 发布:顶点软件怎么样 编辑:程序博客网 时间:2024/06/05 01:19
一, 利用MFC进行可视化编程,要熟悉几个视图——类视图,资源视图,工具箱等
解决方案资源管理器——用来管理程序的代码(.h啊.cpp啊都在这里了)
类视图——用来管理程序中的类(添加类成员啊都可以在这里)
资源视图——管理程序的外部资源(具体什么是资源,会慢慢介绍,简单的说就是程序的外观)
工具箱——各种控件都在这里了
属性窗口——(最重要)修改属性,消息响应,函数重写(全很重要)。
二,_T()涵数使用
弹出来的对话框:
AfxMessageBox(_T("你点击了Button1"));
对编辑框的显示函数:
Edit Control:
SetDlgItemText(IDC_EDIT1,_T("你点击了Button1"));
对控件的属性修改:
Capition标示为标题;
每一个控件都有相应的ID
三,对CString 类的使用
CString l_cstrScreen; l_cstrScreen += _T("1");//这样可以表示多个“1”;SetDlgItemText(IDC_EDIT1,l_cstrScreen);
四, 学会修改控件ID
首先在*Dlg.cpp文件中(*代表了你所建立工程的名称,我建立的工程叫MyMFC,所以对应的就是MyMFC.cpp),找到如代码3所示代码:
代码3: BEGIN_MESSAGE_MAP(CMyMFCDlg,CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT()
ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTTON1, &CMyMFCDlg::OnBnClickedButton1)END_MESSAGE_MAP() 看到这里,可能应该知道我们要做的事情了,将IDC_BUTTON1修改为IDC_NUM1,然后在Resource.h中,找到如代码4所示代码:
代码4:#defineIDC_BUTTON1 1000 #define IDC_NUM1 1000 #define IDC_EDIT1 1001 看到这点代码,可能有的同学应该可以明白为什么修改ID后程序仍然可以顺利运行了,这里我们将 #define IDC_BUTTON1 1000 这行删除。(记着上述两处修改该后都要保存。。。),完成上述步骤后,如果有能力的同学可以试着按照自己的理解修改一下响应函数void OnBnClickedButton1()的名称(因为这里其实也含有Button1)。
五,UpdateDate()函数的使用:
1. UpdateData() 是MFC的窗口函数,用来刷新数据的。
UpdateData()参数只有一个,默认为TRUE。
UpdateData(TRUE)
——刷新控件的值到对应的变量。(外部输入值交给内部变量)
即:控件的值—>变量。
UpdateData(FALSE)
—— 拷贝变量值到控件显示。(变量的最终运算结果值交给外部输出显示)
即:变量值—>控件显示。
例如,窗口中用 DDX_Text(pDX, IDC_EDIT1, m_usercode);
将IDC_EDIT1编辑框控件与m_usercode变量做了关联,如果修改m_usercode之后要想对应控件显示更改,则需要调用UpdateData(FALSE);反之在IDC_EDIT1的oneditchanged()中需要加入UpdateData(TRUE);
简单地说,如果Updatedata(TRUE) == 将控件的值赋值给成员变量,即从窗口编辑框中读入数据;Updatedata(FALSE)== 将成员变量的值赋值给控件,将数据从窗口显示。
实例说明:
例如我们在对话框窗口中添加了3个editbox,然后将前两个的值相加,然后在第三个editbox中输出。
那么我们可以做如下处理:
1。用类向导在3个editbox下添加3个变量,我们命名为m_num1,m_num2,m_num3。
2。然后我们可以多添加一个button控件,在其的click处理事件中,添加以下代码:
UpdateData();// 默认的缺省参数为TRUE,这样,将EditBox控件的内容读入到与其关联的变量中
m_num3 = m_num1+m_num2;
UpdateData(FALSE);// 将变量的值,输出到与其关联的EditBox中
就可以了
六,对关闭响应函数:void C计算器(标准)Dlg::OnClose(){// TODO: 在此添加消息处理程序代码和/或调用默认值OnOK();CDialogEx::OnClose();}
七,对键盘的响应:
void C计算器(标准)Dlg::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags){// TODO: 在此添加消息处理程序代码和/或调用默认值if(nChar=='1'){g_Showentrynum+=_T("1");g_Showguocheng+=_T("1");SetDlgItemText(IDC_EDIT1,g_Showentrynum);SetDlgItemText(IDC_EDIT2,g_Showguocheng);UpdateData(TRUE);g_Tnum=_ttof(g_Showentrynum);UpdateData(FALSE);}
八,CString 与float 类型:用_ttof()的转换
Float 与CString 的转换:
CString str;g_Preresult=g_result;g_sign=1;str.Format(_T("%.2f"),g_result);g_Showguocheng+=_T("=");g_Showguocheng+=str;SetDlgItemText(IDC_EDIT1,str);SetDlgItemText(IDC_EDIT2,g_Showguocheng);
- MFC计算器总结
- 菜鸟编写一个MFC计算器总结
- mfc计算器
- MFC计算器
- MFC计算器
- VC++ mfc 计算器
- 表达式计算器(MFC)
- MFC之计算器
- MFC 实现计算器
- MFC简单计算器
- 视频教程:计算器制作--MFC
- MFC-个人所得税计算器
- MFC做计算器
- MFC 写计算器代码
- MFC制作加法计算器
- MFC简易计算器
- MFC简单计算器
- MFC制作计算器
- tcpcopy架构漫谈
- 第三方斯蒂芬岁的
- mongodb fsync和锁 从属备份
- ViewHolder模式的简洁写法
- wpf如何为自定义控件发布事件
- MFC计算器总结
- taskkill
- Can't connect to MySQL server on 'localhost' (10048)
- ACE相关资料收集
- 将面生成经纬度数组并读取显示(Arcgis版)
- 如何学习linux
- Android GUI的一些个人研究
- json理解
- Struts2 标签 使用心得