资源简介
使用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
- 上一篇:rs485通讯C++
- 下一篇:activemq-cpp开发手册.pdf
相关资源
- c++ 多功能计算器
- C语言课设计算器
- 基于51单片机的简易计算器
- 多功能计算器实现C++代码以及代码详
- C++简单计算器的实现
- C++版计算器带括号dos版本
- VC++课程设计 计算器
- VC仿Xp计算器
- VS2008 MFC简易计算器
- MFC登录注册系统C++
- 数据结构课程设计,C++计算器MFC
- MFC计算器编程,可视化,含详细实现
- MFC实现简单计算器支持加减乘除和括
- VC++ 对话框 滚轮 计算器
- C++课程设计计算器MFC
- 多功能计算器 vc++ mfc
- vc60写的四则混合运算计算器
- C++中,用mfc做的可视化的计算器程序
- mfc简单四则运算计算器
- VC++科学计算器源代码
- VC计算器 用VC++设计一个计算器,功能
- MFC表达式计算器
- 基于循环双向链表的大整数计算器c
- VC计算器,完整的案例,适合MFC和VC
- 个人所得税计算器c语言
- MFC基于逆波兰算法的四则运算计算器
- C++ MFC 简单计算器完善+注释
- C语言在vc下编写的Windows窗口小程序
- 教学工作量计算器
- VC++实现的计算器,用MFC实现界面操作
评论
共有 条评论