用MFC编写的计算器程序源代码
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
// TODO: 在ú此?添 ?加ó额?外猘的?初?始?化ˉ代洙?码?
return TRUE; // 除y非?将?焦1点?设Θ?置?到?控?件t,?否?则ò返う?回? TRUE }
void CJiSuanQiDlg::OnSysCommand(UINT nID, LPARAM lParam) {
if ((nID & 0xFFF0) == IDM_ABOUTBOX) {
UpdateData(); m_num=m_num*10+3; UpdateData(FALSE);// TODO: 在ú此?添 ?加ó控?件t通 ?知a处鋦理え?程ì序ò代洙?码? }
void CJiSuanQiDlg::OnBnClickedButton4() {
UpdateData(); m_num=m_num*10+4; UpdateData(FALSE);// TODO: 在ú此?添 ?加ó控?件t通 ?知a处鋦理え?程ì序ò代洙?码? }
// 使?图?标括?在ú工¤作痢?区?矩?形?中D居ó中D int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2;
// 用?于 ?应畖用?程ì序ò“°关?于 ?”±菜?单蹋?项?的? CAboutDlg 对?话°框ò
class CAboutDlg : public CDialogEx { public:
CAboutDlg();
// 对?话°框ò数簓据Y enum { IDD = IDD_ABOUTBOX };
Байду номын сангаас
protected: virtual void DoDataExchange(CDataExchange* pDX);
// IDM_ABOUTBOX 必?须?在ú系μ统?命ü令?范?围§内ú。£ ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) {
// DDX/DDV 支§持?
// 实害?现? protected:
DECLARE_MESSAGE_MAP() };
CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD) { }
void CAboutDlg::DoDataExchange(CDataExchange* pDX) {
void CJiSuanQiDlg::OnPaint() {
if (IsIconic()) {
CPaintDC dc(this); // 用?于 ?绘?制?的?设Θ?备?上?下?文?
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
BOOL bNameValid; CString strAboutMenu; bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid); if (!strAboutMenu.IsEmpty()) {
pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } }
void CJiSuanQiDlg::OnBnClickedButton8() {
UpdateData(); m_num=m_num*10+8; UpdateData(FALSE);// TODO: 在ú此?添 ?加ó控?件t通 ?知a处鋦理え?程ì序ò代洙?码? }
void CJiSuanQiDlg::OnBnClickedButton9() {
void CJiSuanQiDlg::OnBnClickedButton1() {
UpdateData(); m_num=m_num*10+1; UpdateData(FALSE);// TODO: 在ú此?添 ?加ó控?件t通 ?知a处鋦理え?程ì序ò代洙?码? }
void CJiSuanQiDlg::OnBnClickedButton3() {
void CJiSuanQiDlg::OnBnClickedButton5() {
UpdateData(); m_num=m_num*10+5; UpdateData(FALSE);// TODO: 在ú此?添 ?加ó控?件t通 ?知a处鋦理え?程ì序ò代洙?码? }
void CJiSuanQiDlg::OnBnClickedButton6() {
// 设Θ?置?此?对?话°框ò的?图?标括?。£当獭?应畖用?程ì序ò主÷窗洹?口ú不?是?对?话°框
ò时骸?,?框ò架ü将?自?动ˉ
// 执′行D此?操ù作痢?
SetIcon(m_hIcon, TRUE);
// 设Θ?置?大洙?图?标括?
SetIcon(m_hIcon, FALSE);
// 设Θ?置?小?图?标括?
// 绘?制?图?标括? dc.DrawIcon(x, y, m_hIcon); } else { CDialogEx::OnPaint(); } }
//当獭?用?户§拖?动ˉ最?小?化ˉ窗洹?口ú时骸?系μ统?调獭?用?此?函ˉ数簓取?得?光a标括? //显?示?。£ HCURSOR CJiSuanQiDlg::OnQueryDragIcon() {
CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialogEx::OnSysCommand(nID, lParam); } }
// 如?果?向ò对?话°框ò添 ?加ó最?小?化ˉ按恪?钮¥,?则ò需è要癮下?面?的?代洙?码? // 来ぁ?绘?制?该?图?标括?。£对?于 ?使?用?文?档苔?视酣?图?模£型í的? MFC 应畖用?程ì序 ò,? // 这a将?由 ?框ò架ü自?动ˉ完 ?成é。£
CDialogEx::DoDataExchange(pDX); }
BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) END_MESSAGE_MAP()
// CJiSuanQiDlg 对?话°框ò
CJiSuanQiDlg::CJiSuanQiDlg(CWnd* pParent /*=NULL*/) : CDialogEx(CJiSuanQiDlg::IDD, pParent) , m_num(0) , m_1(0) , m_2(_T("")) , m_two(0)
// JiSuanQiDlg.cpp : 实害?现?文?件t //
#include "stdafx.h" #include "JiSuanQi.h" #include "JiSuanQiDlg.h" #include "afxdialogex.h"
#ifdef _DEBUG #define new DEBUG_NEW #endif
BEGIN_MESSAGE_MAP(CJiSuanQiDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON2, &CJiSuanQiDlg::OnBnClickedButton2) ON_BN_CLICKED(IDC_BUTTON1, &CJiSuanQiDlg::OnBnClickedButton1) ON_BN_CLICKED(IDC_BUTTON3, &CJiSuanQiDlg::OnBnClickedButton3) ON_BN_CLICKED(IDC_BUTTON4, &CJiSuanQiDlg::OnBnClickedButton4) ON_BN_CLICKED(IDC_BUTTON5, &CJiSuanQiDlg::OnBnClickedButton5) ON_BN_CLICKED(IDC_BUTTON6, &CJiSuanQiDlg::OnBnClickedButton6) ON_BN_CLICKED(IDC_BUTTON7, &CJiSuanQiDlg::OnBnClickedButton7) ON_BN_CLICKED(IDC_BUTTON8, &CJiSuanQiDlg::OnBnClickedButton8) ON_BN_CLICKED(IDC_BUTTON9, &CJiSuanQiDlg::OnBnClickedButton9) ON_BN_CLICKED(IDC_BUTTON10, &CJiSuanQiDlg::OnBnClickedButton10) ON_BN_CLICKED(IDC_BUTTON11, &CJiSuanQiDlg::OnBnClickedButton11) ON_BN_CLICKED(IDC_BUTTON13, &CJiSuanQiDlg::OnBnClickedButton13) ON_BN_CLICKED(IDC_BUTTON14, &CJiSuanQiDlg::OnBnClickedButton14) ON_BN_CLICKED(IDC_BUTTON15, &CJiSuanQiDlg::OnBnClickedButton15) ON_BN_CLICKED(IDC_BUTTON16, &CJiSuanQiDlg::OnBnClickedButton16) ON_BN_CLICKED(IDC_BUTTON12, &CJiSuanQiDlg::OnBnClickedButton12)
END_MESSAGE_MAP()
// CJiSuanQiDlg 消?息¢处鋦理え?程ì序ò
BOOL CJiSuanQiDlg::OnInitDialog() {
CDialogEx::OnInitDialog();
// 将?“°关?于 ?..”±菜?单蹋?项?添 ?加ó到?系μ统?菜?单蹋?中D。£
UpdateData(); m_num=m_num*10+6; UpdateData(FALSE);// TODO: 在ú此?添 ?加ó控?件t通 ?知a处鋦理え?程ì序ò代洙?码? }
void CJiSuanQiDlg::OnBnClickedButton7() {
UpdateData(); m_num=m_num*10+7; UpdateData(FALSE);// TODO: 在ú此?添 ?加ó控?件t通 ?知a处鋦理え?程ì序ò代洙?码? }
return static_cast<HCURSOR>(m_hIcon);
}
void CJiSuanQiDlg::OnBnClickedButton2() {
UpdateData(); m_num=m_num*10+2; UpdateData(FALSE);// TODO: 在ú此?添 ?加ó控?件t通 ?知a处鋦理え?程ì序ò代洙?码? }
{ m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CJiSuanQiDlg::DoDataExchange(CDataExchange* pDX) {
CDialogEx::DoDataExchange(pDX); DDX_Text(pDX, IDC_EDIT1, m_num); DDX_Text(pDX, IDC_EDIT2, m_1); DDX_Text(pDX, IDC_EDIT3, m_2); DDX_Text(pDX, IDC_EDIT4, m_two); }