⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cnum.cpp

📁 用C++实现的计算器的源程序
💻 CPP
字号:
// CNUM.cpp : implementation file
//

#include "stdafx.h"
#include "Calculator.h"
#include "CNUM.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CCNUM dialog


CCNUM::CCNUM(CWnd* pParent /*=NULL*/)
	: CDialog(CCNUM::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCNUM)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CCNUM::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCNUM)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CCNUM, CDialog)
	//{{AFX_MSG_MAP(CCNUM)
	ON_BN_CLICKED(IDC_BTN_1, OnBtn1)
	ON_BN_CLICKED(IDC_BTN_2, OnBtn2)
	ON_BN_CLICKED(IDC_BTN_7, OnBtn7)
	ON_BN_CLICKED(IDC_BTN_9, OnBtn9)
	ON_BN_CLICKED(IDC_BTN_3, OnBtn3)
	ON_BN_CLICKED(IDC_BTN_4, OnBtn4)
	ON_BN_CLICKED(IDC_BTN_5, OnBtn5)
	ON_BN_CLICKED(IDC_BTN_6, OnBtn6)
	ON_BN_CLICKED(IDC_BTN_0, OnBtn0)
	ON_BN_CLICKED(IDC_BTN_DOT, OnBtnDot)
	ON_BN_CLICKED(IDC_BTN_8, OnBtn8)
	ON_BN_CLICKED(IDC_BTN_BIN, OnBtnBin)
	ON_BN_CLICKED(IDC_BTN_OCT, OnBtnOct)
	ON_BN_CLICKED(IDC_BTN_HEX, OnBtnHex)
	ON_BN_CLICKED(IDC_BTN_SPACE, OnBtnSpace)
	ON_BN_CLICKED(IDC_BTN_BACK, OnBtnBack)
	ON_BN_CLICKED(IDC_BTN_A, OnBtnA)
	ON_BN_CLICKED(IDC_BTN_B, OnBtnB)
	ON_BN_CLICKED(IDC_BTN_C, OnBtnC)
	ON_BN_CLICKED(IDC_BTN_D, OnBtnD)
	ON_BN_CLICKED(IDC_BTN_E, OnBtnE)
	ON_BN_CLICKED(IDC_BTN_F, OnBtnF)
	ON_BN_CLICKED(IDC_BTN_PI, OnBtnPi)
	ON_BN_CLICKED(IDC_BTN_EE, OnBtnEe)
	ON_WM_SETCURSOR()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCNUM message handlers

BOOL CCNUM::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	m_toolTip.Create( this );
	CStringArray straInfo;

	straInfo.RemoveAll();
	straInfo.Add( "十六进制的A" );
	m_toolTip.AddControlInfo( IDC_BTN_A, straInfo, RGB(255,255,0) );

	straInfo.RemoveAll();
	straInfo.Add( "十六进制的B" );
	m_toolTip.AddControlInfo( IDC_BTN_B, straInfo, RGB(255,255,0) );
	
	straInfo.RemoveAll();
	straInfo.Add( "十六进制的C" );
	m_toolTip.AddControlInfo( IDC_BTN_C, straInfo, RGB(255,255,0) );

	straInfo.RemoveAll();
	straInfo.Add( "十六进制的D" );
	m_toolTip.AddControlInfo( IDC_BTN_D, straInfo, RGB(255,255,0) );

	straInfo.RemoveAll();
	straInfo.Add( "十六进制的E" );
	m_toolTip.AddControlInfo( IDC_BTN_E, straInfo, RGB(255,255,0) );

	straInfo.RemoveAll();
	straInfo.Add( "十六进制的F" );
	m_toolTip.AddControlInfo( IDC_BTN_F, straInfo, RGB(255,255,0) );

	straInfo.RemoveAll();
	straInfo.Add( "二进制数的结束符" );
	m_toolTip.AddControlInfo( IDC_BTN_BIN, straInfo, RGB(255,255,0) );

	straInfo.RemoveAll();
	straInfo.Add( "八进制数的结束符" );
	m_toolTip.AddControlInfo( IDC_BTN_OCT, straInfo, RGB(255,255,0) );

	straInfo.RemoveAll();
	straInfo.Add( "十六进制数的结束符" );
	m_toolTip.AddControlInfo( IDC_BTN_HEX, straInfo, RGB(255,255,0) );

	straInfo.RemoveAll();
	straInfo.Add( "圆周率π" );
	m_toolTip.AddControlInfo( IDC_BTN_PI, straInfo, RGB(255,255,0) );

	straInfo.RemoveAll();
	straInfo.Add( "自然对数e" );
	m_toolTip.AddControlInfo( IDC_BTN_EE, straInfo, RGB(255,255,0) );
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CCNUM::OnBtn1() 
{
	m_strN="1";
}

void CCNUM::OnBtn2() 
{
	m_strN="2";	
}

void CCNUM::OnBtn3() 
{
	m_strN="3";	
}

void CCNUM::OnBtn4() 
{
	m_strN="4";	
}

void CCNUM::OnBtn5() 
{
	m_strN="5";	
}

void CCNUM::OnBtn6() 
{
	m_strN="6";	
}

void CCNUM::OnBtn7() 
{
	m_strN="7";
}

void CCNUM::OnBtn8() 
{
	m_strN="8";	
}

void CCNUM::OnBtn9() 
{
	m_strN="9";	
}

void CCNUM::OnBtn0() 
{
	m_strN="0";	
}

void CCNUM::OnBtnDot() 
{
	m_strN=".";	
}

void CCNUM::OnCancel() 
{
	m_strN="OVER";	
	CDialog::OnCancel();
}

void CCNUM::OnOK() 
{
//	CDialog::OnOK();
}

void CCNUM::OnBtnBin() 
{
	m_strN="xb";		
}

void CCNUM::OnBtnOct() 
{
	m_strN="xo";		
}

void CCNUM::OnBtnHex() 
{
	m_strN="xh";		
}

void CCNUM::OnBtnSpace() 
{
	m_strN=" ";		
}

void CCNUM::OnBtnBack() 
{
	m_strN="BACK";	
}

void CCNUM::OnBtnA() 
{
	m_strN="a";	
}

void CCNUM::OnBtnB() 
{
	m_strN="b";	
}

void CCNUM::OnBtnC() 
{
	m_strN="c";	
}

void CCNUM::OnBtnD() 
{
	m_strN="d";	
}

void CCNUM::OnBtnE() 
{
	m_strN="e";	
}

void CCNUM::OnBtnF() 
{
	m_strN="f";	
}

void CCNUM::OnBtnPi() 
{
	m_strN="PI";
}

void CCNUM::OnBtnEe() 
{
	m_strN="E";	
}

BOOL CCNUM::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 
{
	UINT n=pWnd->GetDlgCtrlID();
	bool bOk=0;
	if(n==IDC_BTN_A) bOk=1;
	else if(n==IDC_BTN_B) bOk=1;
	else if(n==IDC_BTN_C) bOk=1;
	else if(n==IDC_BTN_D) bOk=1;
	else if(n==IDC_BTN_E) bOk=1;
	else if(n==IDC_BTN_F) bOk=1;
	else if(n==IDC_BTN_BIN) bOk=1;
	else if(n==IDC_BTN_OCT) bOk=1;
	else if(n==IDC_BTN_HEX) bOk=1;
	else if(n==IDC_BTN_EE) bOk=1;
	else if(n==IDC_BTN_PI) bOk=1;
	if(bOk)
	{
		m_toolTip.ShowToolTip( n );
		m_nCtrlIDTmp=n;
		return 1;
	}
	m_toolTip.ErasePreviousToolTipDisplay(m_nCtrlIDTmp);	
	return CDialog::OnSetCursor(pWnd, nHitTest, message);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -