1、vc60中用MFC编写计算器代码/ CKcalculateDlg.cpp : implementation file/#include stdafx.h#include math.h#include CKcalculate.h#include CKcalculateDlg.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ double m_first; /存储一次运算的第一个操作数及一次运算的结果/ double m_second; /存储一次运算的第二个操作数/
2、CString m_operator; /存储运算符/ double m_coff; /存储小数点的系数权值/ CAboutDlg dialog used for App About/class CAboutDlg : public CDialogpublic: CAboutDlg();/ Dialog Data/AFX_DATA(CAboutDlg) enum IDD = IDD_ABOUTBOX ; /AFX_DATA/ ClassWizard generated virtual function overrides/AFX_VIRTUAL(CAboutDlg) protected: vi
3、rtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/AFX_VIRTUAL/ Implementationprotected:/AFX_MSG(CAboutDlg)/AFX_MSG DECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD)/AFX_DATA_INIT(CAboutDlg)/AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDat
4、aExchange(pDX);/AFX_DATA_MAP(CAboutDlg)/AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog)/AFX_MSG_MAP(CAboutDlg)/ No message handlers/AFX_MSG_MAPEND_MESSAGE_MAP()/ CCKcalculateDlg dialogCCKcalculateDlg:CCKcalculateDlg(CWnd* pParent /*=NULL*/) : CDialog(CCKcalculateDlg:IDD, pParent)/ void UpdateDispl
5、ay(double);/ void Calculate(void); /AFX_DATA_INIT(CCKcalculateDlg)/ isXdeY=false; m_display = _T(); m_PI=3.14159265358979323846; m_first=0.0; m_second=0.0; m_operator=_T(+); m_coff=0; m_display=_T(0.0);/AFX_DATA_INIT/ Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = Af
6、xGetApp()-LoadIcon(IDR_MAINFRAME);void CCKcalculateDlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CCKcalculateDlg) DDX_Text(pDX, IDC_DISPLAY, m_display); /AFX_DATA_MAPBEGIN_MESSAGE_MAP(CCKcalculateDlg, CDialog)/AFX_MSG_MAP(CCKcalculateDlg) ON_WM_SYSCOMMAND() ON_WM_
7、PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON0, OnButton0) ON_BN_CLICKED(IDC_BUTTON1, OnButton1) ON_BN_CLICKED(IDC_BUTTON2, OnButton2) ON_BN_CLICKED(IDC_BUTTON3, OnButton3) ON_BN_CLICKED(IDC_BUTTON4, OnButton4) ON_BN_CLICKED(IDC_BUTTON5, OnButton5) ON_BN_CLICKED(IDC_BUTTON6, OnButton6) ON_B
8、N_CLICKED(IDC_BUTTON7, OnButton7) ON_BN_CLICKED(IDC_BUTTON8, OnButton8) ON_BN_CLICKED(IDC_BUTTON9, OnButton9) ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd) ON_BN_CLICKED(IDC_BUTTON_MINUS, OnButtonMinus) ON_BN_CLICKED(IDC_BUTTON_MUTIPLY, OnButtonMutiply) ON_BN_CLICKED(IDC_BUTTON_DIV, OnButtonDiv) ON_BN_
9、CLICKED(IDC_BUTTON_SIGH, OnButtonSigh) ON_BN_CLICKED(IDC_BUTTON_POINT, OnButtonPoint) ON_BN_CLICKED(IDC_BUTTON_CLEAR, OnButtonClear) ON_BN_CLICKED(IDC_BUTTON_SQRT, OnButtonSqrt) ON_BN_CLICKED(IDC_BUTTON_RECI, OnButtonReci) ON_BN_CLICKED(IDC_BUTTON_EQUAL, OnButtonEqual) ON_BN_CLICKED(IDC_BUTTON_SIN,
10、OnButtonSin) ON_BN_CLICKED(IDC_BUTTON_COS, OnButtonCos) ON_BN_CLICKED(IDC_BUTTON_LOG, OnButtonLog) ON_BN_CLICKED(IDC_BUTTON_XDEY, OnButtonXdeY)/AFX_MSG_MAPEND_MESSAGE_MAP()/ CCKcalculateDlg message handlers/BOOL CCKcalculateDlg:OnInitDialog() CDialog:OnInitDialog();/ Add About. menu item to system m
11、enu./ IDM_ABOUTBOX must be in the system command range. ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR); pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); / Set the icon for this dialog. The framework does this automatically/ when the application
12、s main window is not a SetIcon(m_hIcon, TRUE); / Set big icon SetIcon(m_hIcon, FALSE); / Set small icon / TODO: Add extra initialization here return TRUE; / return TRUE unless you set the focus to a controlvoid CCKcalculateDlg:OnSysCommand(UINT nID, LPARAM lParam) if (nID & 0xFFF0) = IDM_ABOUTBOX) CAboutDlg dlgAbout; dlgAbout.DoModal(); else CDialog:OnSysCommand(nID, lParam); / If you add a minimize button to your dialog, you will need the code below/ to draw the icon. For MFC applications using the document/view model,/ this is au
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1