1、 MFCMFC 表达式计算器课程设计报告 题目:利用题目:利用 MFC 框架编写简易表达式计算器框架编写简易表达式计算器 【分析】【分析】 一设计过程一设计过程 1.Windows 消息处理机制的理解消息处理机制的理解 首先编写程序需要对 Windows 程序的消息处理机制(Message Handle)有个比较清 晰的了解。Windows 的程序都是通过消息来传送数据,有不需要用户参与的系统消息, 比如异常处理等。还有用户消息,比如鼠标的单击,双击,键盘的键入等。 2.界面的设计界面的设计 1)界面的初步设计界面的初步设计 仿照 Windows 附件里面的计算器,在资源视图中画好界面,如图:
2、 2)修改每个)修改每个 static 的属性的属性 ID CAPTION IDD_STA TIC4 简易表达式计算器 IDC_STA TIC1 待求表达式 IDC_STA TIC2 运算结果 IDC_STA TIC3 系统当前时间 3)修改每个)修改每个 button的属性的属性 IDC_BUTTON1 等于(=) IDC_BUTTON2 全清(C) IDC_BUTTON3 清除 (A) 结果如下图: 4)4)修改每个修改每个 buttonbutton 的处理机制的处理机制 在类向导 Classwizard 窗口中进行,如下图: 其他 button按钮的修改类似 5)修改每个修改每个 edi
3、t 的类型和名称的类型和名称 在类向导 Classwizard 窗口中进行: 单击 Add Variable 按钮,在如下窗口中进行修改 其他 edit 的修改类似 最终结果如下: 注:注:主要使用到 Layout 菜单中的 Align 功能对各个按钮进行对齐,使界面更加整 洁。拖出的控件有上面的一个 Edit 控件用于显示数字,Button控件用于处理鼠标 的消息。 6)系统菜单的添加系统菜单的添加 在 Menu的 IDR_MENU1 中添加系统菜单: 同理在“帮助”菜单中添加“关于” 。 二二 设计设计步骤步骤 1. 添加头文件添加头文件 将 Calculate.cpp(见附录)改为 Ca
4、lculate.h 将其添加到计算器 Dlg.cpp : implementation file 中,如下:#include “Calculate.h“。 2.成员函数及其释义:成员函数及其释义: void CAboutDlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DA TA_MAP(CAboutDlg) /AFX_DA TA_MAP BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) /AFX_MSG_MAP(CAboutDlg) /AFX_MSG_MAP END_ME
5、SSAGE_MAP() / / CMyDlg dialog CMyDlg:CMyDlg(CWnd* pParent /*=NULL*/) : CDialog(CMyDlg:IDD, pParent) /AFX_DA TA_INIT(CMyDlg) / NOTE: the ClassWizard will add member initialization here /AFX_DA TA_INIT / Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()-LoadIc
6、on(IDR_MAINFRAME); void CMyDlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DA TA_MAP(CMyDlg) DDX_Control(pDX, IDC_EDIT3, m_time); DDX_Control(pDX, IDC_EDIT2, m_result); DDX_Control(pDX, IDC_EDIT1, m_input); /AFX_DA TA_MAP BEGIN_MESSAGE_MAP(CMyDlg, CDialog) /AFX_MSG_MAP(CMyDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLIC