• 大小: 48KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-17
  • 语言: C/C++
  • 标签: 计算器  

资源简介

使用VC6.0编的简易计算器,基本功能都能实现

资源截图

代码片段和文件信息

// AdvButton.cpp : implementation file
//

#include “stdafx.h“
#include “Calculator.h“
#include “AdvButton.h“

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

/////////////////////////////////////////////////////////////////////////////
// CAdvButton

CAdvButton::CAdvButton()
{
//初始化m_ClientRect
m_ClientRect.left = 0;
m_ClientRect.top = 0;
m_ClientRect.right = 0;
m_ClientRect.bottom = 0;

m_ClientRgn.Deleteobject();  //删除区域对象
m_ClientRgn.CreateEllipticRgnIndirect(&m_ClientRect);   //创建椭圆区域


m_State = 0;
m_Point.x = m_Point.y = 0;
m_IsTimerOn = FALSE;

}

CAdvButton::~CAdvButton()
{
}


BEGIN_MESSAGE_MAP(CAdvButton CButton)
//{{AFX_MSG_MAP(CAdvButton)
ON_WM_CREATE()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_MOUSEMOVE()
ON_WM_TIMER()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAdvButton message handlers

int CAdvButton::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
if (CButton::OnCreate(lpCreateStruct) == -1)
return -1;

// TODO: Add your specialized creation code here

return 0;
}

void CAdvButton::OnLButtonDown(UINT nFlags CPoint point) 
{
// TODO: Add your message handler code here and/or call default

CRect rect;
GetWindowRect(&rect); //得到按钮客户区域的屏幕坐标位置
GetCursorPos(&m_Point); //得到鼠标的屏幕坐标位置

if((rect.PtInRect(m_Point))&&(m_State != 2))
{
m_State = 2;   //
Invalidate();   //重绘客户区
}

CButton::OnLButtonDown(nFlags point);

}

void CAdvButton::OnLButtonUp(UINT nFlags CPoint point) 
{
// TODO: Add your message handler code here and/or call default

CRect rect;
GetWindowRect(&rect); //得到按钮客户区域的屏幕坐标位置
GetCursorPos(&m_Point); //得到鼠标的屏幕坐标位置

if((rect.PtInRect(m_Point))&&(m_State != 1))
{
m_State = 1;   //
Invalidate();   //重绘客户区
}

CButton::OnLButtonUp(nFlags point);
}

void CAdvButton::onmousemove(UINT nFlags CPoint point) 
{
// TODO: Add your message handler code here and/or call default


if(!m_IsTimerOn) // 如果计时器没有启动
{
SetTimer(1000100NULL);  // 启动计时器
m_IsTimerOn = TRUE;
}

CButton::onmousemove(nFlags point);
}

void CAdvButton::OnTimer(UINT nIDEvent) 
{
// TODO: Add your message handler code here and/or call default

CRect rect;
GetWindowRect(&rect); //得到按钮客户区域的屏幕坐标位置
GetCursorPos(&m_Point); //得到鼠标的屏幕坐标位置

if(rect.PtInRect(m_Point))

if((m_State != 1)&&(m_State != 2)){
m_State = 1;   //
Invalidate();   //重绘客户区
}

else{ //如果鼠标不在按钮的客户区了
if(m_State != 0)
{
m_State = 0;
Invalidate(); //重绘客户区
}
KillTimer(nIDEvent);//关闭计时器
m_IsTimerOn = FALSE;
}

CButton::OnTimer(nIDEvent);
}

//在按钮控件客户区的绘制函数,也是实现所有高级控件的关键
void CAdvButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) 
{
// TODO: Add your code to draw the specified item
GetClientRect(&m_ClientRect); //得到窗口的有效矩形区域
m_ClientRgn

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2661  2010-01-04 21:10  Calculator3(代码完整版)\Calculator.clw

     文件       3651  2010-01-03 13:26  Calculator3(代码完整版)\ReadMe.txt

     文件       1368  2010-01-03 13:26  Calculator3(代码完整版)\Calculator.h

     文件       2119  2010-01-03 13:26  Calculator3(代码完整版)\Calculator.cpp

     文件       1054  2010-01-03 13:26  Calculator3(代码完整版)\StdAfx.h

     文件        212  2010-01-03 13:26  Calculator3(代码完整版)\StdAfx.cpp

     文件        545  2010-01-03 13:26  Calculator3(代码完整版)\Calculator.dsw

     文件     107520  2010-01-04 21:10  Calculator3(代码完整版)\Calculator.ncb

     文件       1478  2010-01-04 21:10  Calculator3(代码完整版)\Calculator.plg

     文件       1269  2010-01-03 20:50  Calculator3(代码完整版)\AdvEdit.h

     文件       2123  2010-01-03 21:28  Calculator3(代码完整版)\AdvButton.h

     文件       1374  2010-01-03 21:42  Calculator3(代码完整版)\AdvEdit.cpp

     文件       4488  2010-01-03 21:59  Calculator3(代码完整版)\Calculator.dsp

     文件       4580  2010-01-04 20:10  Calculator3(代码完整版)\AdvButton.cpp

     文件       2160  2010-01-04 21:01  Calculator3(代码完整版)\Resource.h

     文件      38508  2010-01-04 21:01  Calculator3(代码完整版)\Calculator.aps

     文件       7029  2010-01-04 21:01  Calculator3(代码完整版)\Calculator.rc

     文件       3882  2010-01-04 21:09  Calculator3(代码完整版)\CalculatorDlg.h

     文件      17547  2010-01-04 21:10  Calculator3(代码完整版)\CalculatorDlg.cpp

     文件      54784  2010-01-04 21:10  Calculator3(代码完整版)\Calculator.opt

     文件        402  2010-01-03 13:26  Calculator3(代码完整版)\res\Calculator.rc2

     文件       1078  2010-01-03 13:26  Calculator3(代码完整版)\res\Calculator.ico

     目录          0  2010-01-04 21:53  Calculator3(代码完整版)\res

     目录          0  2010-01-04 21:53  Calculator3(代码完整版)

----------- ---------  ---------- -----  ----

               259832                    24


评论

共有 条评论