1、MFC计算器主要代码C/ Calculator_17483Dlg.cpp : implementation file/#include stdafx.h#include Calculator_17483.h#include Calculator_17483Dlg.h#include afxdialogex.h#ifdef _DEBUG#define new DEBUG_NEW#endif/ CAboutDlg dialog used for App Aboutclass CAboutDlg : public CDialogExpublic: CAboutDlg();/ Dialog Data
2、enum IDD = IDD_ABOUTBOX ; protected: virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support/ Implementationprotected: DECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialogEx(CAboutDlg:IDD)void CAboutDlg:DoDataExchange(CDataExchange* pDX) CDialogEx:DoDataExchange(pDX);BEGIN_MESSAGE_MAP(CA
3、boutDlg, CDialogEx)END_MESSAGE_MAP()/ CCalculator_17483Dlg dialogCCalculator_17483Dlg:CCalculator_17483Dlg(CWnd* pParent /*=NULL*/) : CDialogEx(CCalculator_17483Dlg:IDD, pParent) num1=0; num2=0; operation=0; point=0; nump_1=0; nump_2=0; m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CCalculator_
4、17483Dlg:DoDataExchange(CDataExchange* pDX) CDialogEx:DoDataExchange(pDX);BEGIN_MESSAGE_MAP(CCalculator_17483Dlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON1, &CCalculator_17483Dlg:OnBnClickedButton1) ON_BN_CLICKED(IDC_BUTTON2, &CCalculator_17483Dlg:On
5、BnClickedButton2) ON_BN_CLICKED(IDC_BUTTON3, &CCalculator_17483Dlg:OnBnClickedButton3) ON_BN_CLICKED(IDC_BUTTON4, &CCalculator_17483Dlg:OnBnClickedButton4) ON_BN_CLICKED(IDC_BUTTON5, &CCalculator_17483Dlg:OnBnClickedButton5) ON_BN_CLICKED(IDC_BUTTON6, &CCalculator_17483Dlg:OnBnClickedButton6) ON_BN_
6、CLICKED(IDC_BUTTON7, &CCalculator_17483Dlg:OnBnClickedButton7) ON_BN_CLICKED(IDC_BUTTON8, &CCalculator_17483Dlg:OnBnClickedButton8) ON_BN_CLICKED(IDC_BUTTON9, &CCalculator_17483Dlg:OnBnClickedButton9) ON_BN_CLICKED(IDC_BUTTON10, &CCalculator_17483Dlg:OnBnClickedButton10) ON_BN_CLICKED(IDC_BUTTON11,
7、&CCalculator_17483Dlg:OnBnClickedButton11) ON_BN_CLICKED(IDC_BUTTON12, &CCalculator_17483Dlg:OnBnClickedButton12) ON_BN_CLICKED(IDC_BUTTON13, &CCalculator_17483Dlg:OnBnClickedButton13) ON_BN_CLICKED(IDC_BUTTON14, &CCalculator_17483Dlg:OnBnClickedButton14) ON_BN_CLICKED(IDC_BUTTON15, &CCalculator_174
8、83Dlg:OnBnClickedButton15) ON_BN_CLICKED(IDC_BUTTON16, &CCalculator_17483Dlg:OnBnClickedButton16) ON_BN_CLICKED(IDC_BUTTON17, &CCalculator_17483Dlg:OnBnClickedButton17)END_MESSAGE_MAP()/ CCalculator_17483Dlg message handlersBOOL CCalculator_17483Dlg:OnInitDialog() CDialogEx:OnInitDialog(); / Add Abo
9、ut. menu item to system menu. / 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 automatic
10、ally / when the applications main window is not a dialog 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 CCalculator_17483Dlg:OnSysCommand(UINT nID, LPARAM lPar
11、am) if (nID & 0xFFF0) = IDM_ABOUTBOX) CAboutDlg dlgAbout; dlgAbout.DoModal(); else CDialogEx: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 automatically done for y
12、ou by the framework.void CCalculator_17483Dlg:OnPaint() if (IsIconic() CPaintDC dc(this); / device context for painting SendMessage(WM_ICONERASEBKGND, reinterpret_cast(dc.GetSafeHdc(), 0); / Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CY
13、ICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; / Draw the icon dc.DrawIcon(x, y, m_hIcon); else CDialogEx:OnPaint(); / The system calls this function to obtain the cursor to display while the user drags/ the minimized windo
14、w.HCURSOR CCalculator_17483Dlg:OnQueryDragIcon() return static_cast(m_hIcon);void CCalculator_17483Dlg:OnBnClickedButton13()/0 if(operation=0) num1=num1*10+0; string_num1.Format(_T(%d),num1); SetDlgItemTextW(IDC_EDIT1,string_num1); else num2=num2*10+0; string_num2.Format(_T(%d),num2); SetDlgItemTextW(IDC_EDIT2,string_num2); / TODO: Add your control notification handler co
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1