MFC计算器[1]
----------------------- Page 1-----------------------
mfc计算器:MFC实现简单功能计算器
疯狂代码 www.51wendang.com http:/CrazyCoder.cn/VC/Article39924.html
第步:利用MFCAppWizard生成个基于对话框(本工程名为Calc)切换到Resource 在Dialog中
IDD_CALC_DIALOG上双击然后添Control控件按钮做好外观布局改好按钮ID和Caption;
第 2步:为Control控件按钮增加相应变量和事件响应;
第 3步:在CCalcDlg类中添加相应变量;
第 4步:对Control控件按钮事件响应做处理;
代码如下:
第部分(利用ClassWizard添加可不必手动修改)在CalcDlg.h中代码修改如下:
// CalcDlg.h : 头文件
//
#pragma _disibledevent=>
// 对话框数据
enum { IDD = IDD_CALC_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
HICON m_hIcon;
// 生成消息映射
----------------------- Page 2-----------------------
virtual BOOL _disibledevent=>
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
DECLARE_MESSAGE_MAP
};
CAboutDlg CAboutDlg : CDialog(CAboutDlg IDD)
{
}
void CAboutDlg DoDataExchange(CDataExchange* pDX)
{
CDialog DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
END_MESSAGE_MAP
// CCalcDlg 对话框
CCalcDlg CCalcDlg(CWnd* pParent /*=NULL*/)
: CDialog(CCalcDlg IDD, pParent)
, m_csEditText(_T(""))
, m_csFirstNumber(_T(""))
, m_bRadixFlag(false)
, m_dFirstNumber(0)
, m_dSecondNumber(0)
, m_dResualt(0)
, m_nOperatorFlag(0)
----------------------- Page 3-----------------------
, m_cInNumber(0)
{
m_hIcon = AfxGetApp->LoadIcon(IDR_MAINFRAME);
}
void CCalcDlg DoDataExchange(CDataExchange* pDX)
{
CDialog DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT, m_csEditText);
}
BEGIN_MESSAGE_MAP(CCalcDlg, CDialog)
ON_WM_SYSCOMMAND
ON_WM_PAINT
ON_WM_QUERYDRAGICON
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_BTNNUM0, &CCalcDlg OnBnClickedBtnnum0)
ON_BN_CLICKED(IDC_BTNNUM1, &CCalcDlg OnBnClickedBtnnum1)
ON_BN_CLICKED(IDC_BTNNUM2, &CCalcDlg OnBnClickedBtnnum2)
ON_BN_CLICKED(IDC_BTNNUM3, &CCalcDlg OnBnClickedBtnnum3)
ON_BN_CLICKED(IDC_BTNNUM4, &CCalcDlg OnBnClickedBtnnum4)
ON_BN_CLICKED(IDC_BTNNUM5, &CCalcDlg OnBnClickedBtnnum5)
ON_BN_CLICKED(IDC_BTNNUM6, &a
mp;CCalcDlg OnBnClickedBtnnum6)
ON_BN_CLICKED(IDC_BTNNUM7, &CCalcDlg OnBnClickedBtnnum7)
ON_BN_CLICKED(IDC_BTNNUM8, &CCalc


