C++MFC实现win10标准计算器
最近学习MFC,通过自己做一个win10版本的计算器,目前做的这个是标准计算器,这个计算器的一些逻辑运算也是根据win10标准计算器逻辑来写的,所以基于vs和标准C++的MFC实现了这个标准计算器。
功能实现
根据输入数字进行无优先级运算。
运算功能:+,-,×,÷。
特殊功能:输入框归零(CE),全部归零(C),退格,等于。
布局特点:对字体进行了调整,数字与其他按钮大小不同,两个显示框输出数字大小不同,含有最小化窗口按钮。
效果图
界面图
实际运算图
CounterDlg.h代码:
CounterDlg.h主要是定义各种变量。
// CounterDlg.h : 头文件
//#pragma onceenum Equal_Flag {FLAG_JIA=1,FLAG_JIAN,FLAG_CHENG,FLAG_CHU,
};
// CCounterDlg 对话框
class CCounterDlg : public CDialogEx
{
// 构造
public:CCounterDlg(CWnd* pParent = NULL); // 标准构造函数void SaveFirstValue();void SaveSecondValue();void Equal();void Clear();void Clear1();CFont fontButton;CFont fontButton1;CFont fontFirstshow;CFont fontSecondshow;// 对话框数据enum { IDD = IDD_COUNTER_DIALOG };protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持// 实现
protected:HICON m_hIcon;// 生成的消息映射函数virtual BOOL OnInitDialog();afx_msg void OnSysCommand(UINT nID, LPARAM lParam);afx_msg void OnPaint();afx_msg HCURSOR OnQueryDragIcon();DECLARE_MESSAGE_MAP()
public:afx_msg void OnBnClickedButnum0();afx_msg void OnBnClickedButnum1();afx_msg void OnBnClickedButnum2();afx_msg void OnBnClickedButnum3();afx_msg void OnBnClickedButnum4();afx_msg void OnBnClickedButnum5();afx_msg void OnBnClickedButnum6();afx_msg void OnBnClickedButnum7();afx_msg void OnBnClickedButnum8();afx_msg void OnBnClickedButnum9();afx_msg void OnBnClickedButpoint();afx_msg void OnBnClickedButsign();afx_msg void OnBnClickedButadd();afx_msg void OnBnClickedButdel();afx_msg void OnBnClickedButcheng();afx_msg void OnBnClickedButchu();afx_msg void OnBnClickedButback();afx_msg void OnBnClickedButclear();afx_msg void OnBnClickedButclear1();afx_msg void OnBnClickedButsin();afx_msg void OnBnClickedButcos();afx_msg void OnBnClickedButtan();afx_msg void OnBnClickedButpf();afx_msg void OnEnChangeEditShow();afx_msg void OnEnChangeEditShow1();afx_msg void OnBnClickedButequal();
public:CString m_str; //第一个屏幕变量CString m_str1; //第二个屏幕变量CString m_str2; //屏幕变量double m_Num1; //运算中的第一个变量double m_Num2; //double m_Num3; //后续输入存值空间double m_Result; //结果值Equal_Flag mFlag;};
CounterDlg.cpp代码
// CounterDlg.cpp : 实现文件
//#include "stdafx.h"
#include "Counter.h"
#include "CounterDlg.h"
#include "afxdialogex.h"#ifdef _DEBUG
#define new DEBUG_NEW
#endif// 用于应用程序“关于”菜单项的 CAboutDlg 对话框class CAboutDlg : public CDialogEx
{
public:CAboutDlg();// 对话框数据enum { IDD = IDD_ABOUTBOX };protected:virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持// 实现
protected:DECLARE_MESSAGE_MAP()
};CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)
{
}void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{CDialogEx::DoDataExchange(pDX);
}BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)
END_MESSAGE_MAP()// CCounterDlg 对话框CCounterDlg::CCounterDlg(CWnd* pParent /*=NULL*/): CDialogEx(CCounterDlg::IDD, pParent)
{m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);}void CCounterDlg::DoDataExchange(CDataExchange* pDX)
{CDialogEx::DoDataExchange(pDX);DDX_Text(pDX, IDC_EDIT_SHOW1, m_str1);
}BEGIN_MESSAGE_MAP(CCounterDlg, CDialogEx)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_BN_CLICKED(IDC_BUTNum0, &CCounterDlg::OnBnClickedButnum0)ON_BN_CLICKED(IDC_BUTNum1, &CCounterDlg::OnBnClickedButnum1)ON_BN_CLICKED(IDC_BUTNum2, &CCounterDlg::OnBnClickedButnum2)ON_BN_CLICKED(IDC_BUTNum3, &CCounterDlg::OnBnClickedButnum3)ON_BN_CLICKED(IDC_BUTNum4, &CCounterDlg::OnBnClickedButnum4)ON_BN_CLICKED(IDC_BUTNum5, &CCounterDlg::OnBnClickedButnum5)ON_BN_CLICKED(IDC_BUTNum6, &CCounterDlg::OnBnClickedButnum6)ON_BN_CLICKED(IDC_BUTNum7, &CCounterDlg::OnBnClickedButnum7)ON_BN_CLICKED(IDC_BUTNum8, &CCounterDlg::OnBnClickedButnum8)ON_BN_CLICKED(IDC_BUTNum9, &CCounterDlg::OnBnClickedButnum9)ON_BN_CLICKED(IDC_BUTPoint, &CCounterDlg::OnBnClickedButpoint)ON_BN_CLICKED(IDC_BUTSign, &CCounterDlg::OnBnClickedButsign)ON_BN_CLICKED(IDC_BUTADD, &CCounterDlg::OnBnClickedButadd)ON_BN_CLICKED(IDC_BUTDEL, &CCounterDlg::OnBnClickedButdel)ON_BN_CLICKED(IDC_BUTCHENG, &CCounterDlg::OnBnClickedButcheng)ON_BN_CLICKED(IDC_BUTCHU, &CCounterDlg::OnBnClickedButchu)ON_BN_CLICKED(IDC_BUTBACK, &CCounterDlg::OnBnClickedButback)ON_BN_CLICKED(IDC_BUTClear, &CCounterDlg::OnBnClickedButclear)ON_BN_CLICKED(IDC_BUTClear1, &CCounterDlg::OnBnClickedButclear1)ON_BN_CLICKED(IDC_BUTSin, &CCounterDlg::OnBnClickedButsin)ON_BN_CLICKED(IDC_BUTCos, &CCounterDlg::OnBnClickedButcos)ON_BN_CLICKED(IDC_BUTTan, &CCounterDlg::OnBnClickedButtan)ON_BN_CLICKED(IDC_BUTPF, &CCounterDlg::OnBnClickedButpf)ON_EN_CHANGE(IDC_EDIT_SHOW, &CCounterDlg::OnEnChangeEditShow)ON_EN_CHANGE(IDC_EDIT_SHOW1, &CCounterDlg::OnEnChangeEditShow1)ON_BN_CLICKED(IDC_BUTEqual, &CCounterDlg::OnBnClickedButequal)
END_MESSAGE_MAP()// CCounterDlg 消息处理程序BOOL CCounterDlg::OnInitDialog()
{CDialogEx::OnInitDialog();// 将“关于...”菜单项添加到系统菜单中。// IDM_ABOUTBOX 必须在系统命令范围内。ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX < 0xF000);CMenu* pSysMenu = GetSystemMenu(FALSE);if (pSysMenu != NULL){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);}}// 设置此对话框的图标。 当应用程序主窗口不是对话框时,框架将自动// 执行此操作SetIcon(m_hIcon, TRUE); // 设置大图标SetIcon(m_hIcon, FALSE); // 设置小图标// TODO: 在此添加额外的初始化代码fontButton.CreatePointFont(150, "Arial Black", NULL);fontButton1.CreatePointFont(150, "宋体", NULL);fontFirstshow.CreatePointFont(200, "宋体", NULL);fontSecondshow.CreatePointFont(100, "宋体", NULL);GetDlgItem(IDC_BUTNum1)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum2)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum3)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum4)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum5)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum6)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum7)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum8)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum9)->SetFont(&fontButton);GetDlgItem(IDC_BUTNum0)->SetFont(&fontButton);GetDlgItem(IDC_BUTADD)->SetFont(&fontButton1);GetDlgItem(IDC_BUTDEL)->SetFont(&fontButton1);GetDlgItem(IDC_BUTCHENG)->SetFont(&fontButton1);GetDlgItem(IDC_BUTCHU)->SetFont(&fontButton1);GetDlgItem(IDC_BUTBACK)->SetFont(&fontButton1);GetDlgItem(IDC_BUTClear)->SetFont(&fontButton1);GetDlgItem(IDC_BUTClear1)->SetFont(&fontButton1);//GetDlgItem(IDC_BUTSin)->SetFont(&fontButton1);//GetDlgItem(IDC_BUTCos)->SetFont(&fontButton1);//GetDlgItem(IDC_BUTTan)->SetFont(&fontButton1);//GetDlgItem(IDC_BUTPF)->SetFont(&fontButton1);GetDlgItem(IDC_BUTSign)->SetFont(&fontButton1);GetDlgItem(IDC_BUTEqual)->SetFont(&fontButton1);GetDlgItem(IDC_EDIT_SHOW)->SetFont(&fontFirstshow);GetDlgItem(IDC_EDIT_SHOW1)->SetFont(&fontSecondshow);return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}void CCounterDlg::OnSysCommand(UINT nID, LPARAM lParam)
{if ((nID & 0xFFF0) == IDM_ABOUTBOX){CAboutDlg dlgAbout;dlgAbout.DoModal();}else{CDialogEx::OnSysCommand(nID, lParam);}
}// 如果向对话框添加最小化按钮,则需要下面的代码
// 来绘制该图标。 对于使用文档/视图模型的 MFC 应用程序,
// 这将由框架自动完成。void CCounterDlg::OnPaint()
{if (IsIconic()){CPaintDC dc(this); // 用于绘制的设备上下文SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);// 使图标在工作区矩形中居中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;// 绘制图标dc.DrawIcon(x, y, m_hIcon);}else{CDialogEx::OnPaint();}
}//当用户拖动最小化窗口时系统调用此函数取得光标
//显示。
HCURSOR CCounterDlg::OnQueryDragIcon()
{return static_cast<HCURSOR>(m_hIcon);
}void CCounterDlg::OnBnClickedButnum0()
{// TODO: 在此添加控件通知处理程序代码double str = 0.0f;if (0 == m_str.Find(L' ')){m_str = "";}if (-1 == m_str.Find(L'.')){str = atof(m_str);if (str == 0){m_str = m_str.Left(m_str.GetAllocLength() - 1);}}m_str = m_str + _T("0");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum1()
{// TODO: 在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("1");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum2()
{// TODO: 在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("2");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum3()
{// TODO: 在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("3");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum4()
{// TODO: 在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("4");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum5()
{// TODO: 在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("5");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum6()
{// TODO: 在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("6");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum7()
{// TODO: 在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("7");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum8()
{// TODO: 在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("8");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButnum9()
{// TODO: 在此添加控件通知处理程序代码if (0 == m_str.Find(L' ')){m_str = "";}m_str = m_str + _T("9");SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButpoint()
{// TODO: 在此添加控件通知处理程序代码if (-1 == m_str.Find(L'.')){m_str = m_str + _T('.');}SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::OnBnClickedButsign()
{// TODO: 在此添加控件通知处理程序代码double str;str = atof(m_str);str = -str;m_str.Format(_T("%lg"), str);SetDlgItemText(IDC_EDIT_SHOW, m_str);
}void CCounterDlg::SaveFirstValue()
{m_Num1 = atof(m_str);m_str.Format(_T("%lg"), m_Num1);
}void CCounterDlg::SaveSecondValue()
{if (m_str==""){m_str = "";}else{m_Num3 = atof(m_str);m_str.Format(_T("%lg"), m_Num3);}
}void CCounterDlg::OnBnClickedButadd()
{// TODO: 在此添加控件通知处理程序代码m_str1 += m_str;if (m_Num1 == 0){SaveFirstValue();}else{SaveSecondValue();}//在firstvalue和secondvalue中进行计算。if (m_str==""){}else{Equal();}m_str2 = m_str1 + _T("+");if (m_str != ""){m_str1 += _T("+");mFlag = FLAG_JIA;}else if (m_str1.GetLength()!= m_str2.GetLength()){m_str1 = m_str1.Left(m_str1.GetLength() - 1);m_str1 += _T("+");m_str2 = m_str1;}SetDlgItemText(IDC_EDIT_SHOW1, m_str1);m_str.Format(_T("%lg"), m_Result);m_str = "";}void CCounterDlg::OnBnClickedButdel()
{// TODO: 在此添加控件通知处理程序代码m_str1 += m_str;if (m_Num1 == 0){SaveFirstValue();}else{SaveSecondValue();}//在firstvalue和secondvalue中进行计算。if (m_str == ""){}else{Equal();}m_str2 = m_str1 + _T("-");if (m_str != ""){m_str1 += _T("-");mFlag = FLAG_JIAN;}else if (m_str1.GetLength() != m_str2.GetLength()){m_str1 = m_str1.Left(m_str1.GetLength() - 1);m_str1 += _T("-");m_str2 = m_str1;}SetDlgItemText(IDC_EDIT_SHOW1, m_str1);m_str = "";
}void CCounterDlg::OnBnClickedButcheng()
{// TODO: 在此添加控件通知处理程序代码m_str1 += m_str;if (m_Num1 == 0){SaveFirstValue();}else{SaveSecondValue();}//在firstvalue和secondvalue中进行计算。if (m_str == ""){}else{Equal();}m_str2 = m_str1 + _T("×");if (m_str != ""){m_str1 += _T("×");mFlag = FLAG_CHENG;}else if (m_str1.GetLength() != m_str2.GetLength()){m_str1 = m_str1.Left(m_str1.GetLength() - 1);m_str1 += _T("×");m_str2 = m_str1;}SetDlgItemText(IDC_EDIT_SHOW1, m_str1);m_str = "";
}void CCounterDlg::OnBnClickedButchu()
{// TODO: 在此添加控件通知处理程序代码m_str1 += m_str;if (m_Num1 == 0){SaveFirstValue();}else{SaveSecondValue();}//在firstvalue和secondvalue中进行计算。if (m_str == ""){}else{Equal();}m_str2 = m_str1 + _T("÷");if (m_str != ""){m_str1 += _T("÷");mFlag = FLAG_CHU;}else if (m_str1.GetLength() != m_str2.GetLength()){m_str1 = m_str1.Left(m_str1.GetLength() - 1);m_str1 += _T("÷");m_str2 = m_str1;}SetDlgItemText(IDC_EDIT_SHOW1, m_str1);m_str = "";
}void CCounterDlg::OnBnClickedButback()
{// TODO: 在此添加控件通知处理程序代码if (m_str!=""){m_str=m_str.Left(m_str.GetLength() - 1);SetDlgItemText(IDC_EDIT_SHOW, m_str);}else{CString Str;Str = m_str+_T("0");SetDlgItemText(IDC_EDIT_SHOW, Str);}
}void CCounterDlg::Clear()
{CString Str;m_str = ""; m_str1 = ""; m_str2 = ""; m_Num1 = 0; m_Num2 = 0; m_Num3 = 0; m_Result = 0;Str.Format(_T("%lg"), m_Num1);SetDlgItemText(IDC_EDIT_SHOW, Str);SetDlgItemText(IDC_EDIT_SHOW1, m_str1);
}void CCounterDlg::OnBnClickedButclear()
{// TODO: 在此添加控件通知处理程序代码Clear();
}void CCounterDlg::OnBnClickedButclear1()
{CString str;str = "0";m_str = "";SetDlgItemText(IDC_EDIT_SHOW, str);// TODO: 在此添加控件通知处理程序代码
}void CCounterDlg::OnBnClickedButsin()
{// TODO: 在此添加控件通知处理程序代码CString Str;CString Str1;double Num;GetDlgItemText(IDC_EDIT_SHOW, m_str);Str1 = m_str;Num=atof(m_str);Num = sin(Num);m_str.Format(_T("%.5f"), Num);SaveSecondValue();Str = m_str;SetDlgItemText(IDC_EDIT_SHOW, Str);m_str1 += _T("sin(")+Str1+_T(") ");m_str = "";SetDlgItemText(IDC_EDIT_SHOW1,m_str1);
}void CCounterDlg::OnBnClickedButcos()
{// TODO: 在此添加控件通知处理程序代码CString Str;CString Str1;double Num;GetDlgItemText(IDC_EDIT_SHOW, m_str);Str1 = m_str;Num = atof(m_str);Num = cos(Num);m_str.Format(_T("%.5f"), Num);SaveSecondValue();Str = m_str;SetDlgItemText(IDC_EDIT_SHOW, Str);m_str1 += _T("cos(") + Str1 + _T(") ");m_str = "";SetDlgItemText(IDC_EDIT_SHOW1, m_str1);
}void CCounterDlg::OnBnClickedButtan()
{// TODO: 在此添加控件通知处理程序代码CString Str;CString Str1;double Num;GetDlgItemText(IDC_EDIT_SHOW, m_str);Str1 = m_str;Num = atof(m_str);Num = tan(Num);m_str.Format(_T("%.5f"), Num);SaveSecondValue();Str = m_str;SetDlgItemText(IDC_EDIT_SHOW, Str);m_str1 += _T("tan(") + Str1 + _T(") ");m_str = "";SetDlgItemText(IDC_EDIT_SHOW1, m_str1);
}void CCounterDlg::OnBnClickedButpf()
{// TODO: 在此添加控件通知处理程序代码CString Str;CString Str1;double Num;double Num1 = 0;GetDlgItemText(IDC_EDIT_SHOW, m_str);Str1 = m_str;Num = atof(m_str);Num = Num*Num;m_str.Format(_T("%.5f"), Num);SaveSecondValue();Str = m_str;SetDlgItemText(IDC_EDIT_SHOW, Str);m_str1 += _T("sqr(") + Str1 + _T(") ");m_str = "";SetDlgItemText(IDC_EDIT_SHOW1, m_str1);}void CCounterDlg::OnEnChangeEditShow()
{// TODO: 如果该控件是 RICHEDIT 控件,它将不// 发送此通知,除非重写 CDialogEx::OnInitDialog()// 函数并调用 CRichEditCtrl().SetEventMask(),// 同时将 ENM_CHANGE 标志“或”运算到掩码中。// TODO: 在此添加控件通知处理程序代码
}void CCounterDlg::OnEnChangeEditShow1()
{// TODO: 如果该控件是 RICHEDIT 控件,它将不// 发送此通知,除非重写 CDialogEx::OnInitDialog()// 函数并调用 CRichEditCtrl().SetEventMask(),// 同时将 ENM_CHANGE 标志“或”运算到掩码中。// TODO: 在此添加控件通知处理程序代码
}void CCounterDlg::OnBnClickedButequal()
{ CString Str;CString Str1;CString Str2;double NUM;SaveSecondValue();m_str1 += m_str;m_str1 += _T("=");//加\t 空格Equal();GetDlgItemText(IDC_EDIT_SHOW, Str);m_str1 += Str;Str1 = m_str1;m_str1 = "";NUM = atof(Str);m_str.Format(_T("%lg"), NUM);SaveFirstValue();Str2 = m_str;Clear();m_str = Str2;SetDlgItemText(IDC_EDIT_SHOW, Str2);SetDlgItemText(IDC_EDIT_SHOW1, Str1);// TODO: 在此添加控件通知处理程序代码
}void CCounterDlg::Equal()
{CString Str;switch (mFlag){case FLAG_JIA:m_Result = m_Num1 + m_Num3;m_Num1 = m_Result;Str.Format(_T("%lg"), m_Result);SetDlgItemText(IDC_EDIT_SHOW, Str);break;case FLAG_JIAN:m_Result = m_Num1 - m_Num3;m_Num1 = m_Result;Str.Format(_T("%lg"), m_Result);SetDlgItemText(IDC_EDIT_SHOW, Str);break;case FLAG_CHENG:m_Result = m_Num1 * m_Num3;m_Num1 = m_Result;Str.Format(_T("%lg"), m_Result);SetDlgItemText(IDC_EDIT_SHOW, Str);break;case FLAG_CHU:m_Result = m_Num1 / m_Num3;m_Num1 = m_Result;Str.Format(_T("%lg"), m_Result);SetDlgItemText(IDC_EDIT_SHOW, Str);break;}
}
原版本是有sin,cos,tan,平方的,也在代码里面,bug但是没有让他们显示出来,各位大佬可以交流交流。
后续有人想了解具体实现方法和想法可以留言,互相交流。
主要是以学习为目的发这次文章
C++MFC实现win10标准计算器相关推荐
- C#窗体实现的仿WIN10标准计算器
上周C#的第一节winform课结束后老师布置了一个计算器的作业.由于之前学过C++所以语法方面都没什么问题,只是以前的代码练习都不怎么多,所以也想趁着这次学习语言的机会多练习.这是我的第一篇博客,若 ...
- python+tkinter仿制win10标准型计算器(中文版)完美教学
前言 马上就要实习了,而我却没有拿得出手的项目..哎实力不够啊.还有六个月时间,先从简单开始吧,一步一个脚印,大家一起加油! "设计很难,模仿不易."这是我创作计算器时内心的独白. ...
- MFC 简单的MD5计算器
MFC 简单的MD5计算器 一.简述 记--使用开源MD5计算代码+MFC实现简单的文件MD5计算器. 1.支持拖拽文件或目录. 2.支持拖拽多个文件或目录. 3.支持 ...
- 如何用计算机快速计算方法有哪些,win10快速打开计算器工具的两种方法(图文)...
windows10系统内置许多小工具,比如常见的计算器,一般需要使用的时候大家都会在开始菜单-附件里找到它,这样就不太方便了,有什么办法能快速打开它?大家可以将计算器固定在任务栏,或者使用命令窗口输入 ...
- 戴尔win10桌面 计算机,戴尔笔记本上win10的计算器在哪
其它网友回答: 开始的附件里找,要不就进控制面板! 其它网友回答: 去控制面板里看看试试 其它网友回答: 附件.控制面板都可以找得到. 其它网友回答: 七月底,微软正式发布了新一代Windows10正 ...
- win10进不去计算机配置,win10系统计算器打不开的解决方法
很多小伙伴都遇到过win10系统计算器打不开的困惑吧,一些朋友看过网上零散的win10系统计算器打不开的处理方法,并没有完完全全明白win10系统计算器打不开是如何解决的,今天小编准备了简单的解决办法 ...
- win10安装计算器
win10安装计算器 1.搜索框输入 powershell ,以管理员身份运行 2.执行命令1 Get-AppxPackage -allusers | Select Name, PackageFull ...
- win10的计算机工具,win10系统如何打开计算器工具?win10打开计算器工具的四种方法...
win10打开计算器工具的四种方法: 方法一:使用组合快捷键 1.同时按下Win+R组合快捷键打开运行操作框,然后在打开后面输入命令:Calc.exe,如下图所示: 2.点击确定,就可以快速打开Win ...
- win10计算机服务打不开,win10系统计算器打不开闪退的解决方法
win10系统想必大家都非常熟悉吧,然而有时候可能会碰到win10系统计算器打不开闪退的问题,比如近日有用户到本站反映说win10系统计算器打不开闪退的问题,该怎么处理win10系统计算器打不开闪退的 ...
- win10计算机闪退,大神解答win10系统计算器打不开闪退的步骤
如今还有很多用户不知道如何处理win10系统计算器打不开闪退的情况,于是就有网友向我留言询问到win10系统计算器打不开闪退的处理步骤,针对win10系统计算器打不开闪退的问题,我给大家整理总结了详细 ...
最新文章
- 192. Word Frequency 使用shell统计词频
- 火狐的萤火虫JavaScript,HTML,CSS调试捕获器
- Java中getMessage()和printStackTrace方法
- 上一局APP玩边画边猜,第1次见人使用道具,我的游戏体验上升了
- 20155209 林虹宇 Exp9 Web安全基础
- 最新最详细最简洁Eclipse调试PHP配置详解(Xdebug,Zend Debugger)
- LAMP源代码编译整理
- easypoi导出excel 效率_Spring Boot 入门(十二):报表导出,对比poi、jxl和esayExcel的效率...
- 单片机如何用普通电池供电?
- windows下sublime2 clojure环境配置
- win7硬盘分区软件_系统软件
- Pix4Dmapper系列教程(一):Pix4D模型成果导出OSGB并加载到CASS3D进行三维测图
- pdg是什么格式文件怎么打开
- 获取google chrome浏览器的安装位置
- 计算机的指令格式通常是由两部分组成,计算机指令由两部分组成,它们是什么...
- 第7章 CustomView绘图进阶
- VMware宿主机与虚拟机之间的文件夹相互共享(看图操作)
- 陀螺仪、加速计和磁力计
- Win10 下报错 WerFault.exe -解决方法亲测有效
- 我的奋斗之黑马第一天
热门文章
- 杀软EAV/ESS不用“用户名密码”就能更新的方法【各版、6.0.308依然可用】
- fastboot驱动安装问题——文件哈希值不在指定目录
- 【XJTUSE 计算机组成与结构笔记】第十四章 指令级并行性和超标量处理
- 【蓝桥杯2015Java】奇妙的数字、打印大叉
- 2018-3-18CCF小球碰撞问题
- MySQL table 添加_「primarykey」MySQL中为table添加primary key的两种方法 - seo实验室
- 色鬼色狼和色仙的区别
- Android签名证书:jks和keystore
- gaster字体转换器_wingdings
- 中职学生计算机学情分析报告,中职学校学生学情分析及对策