资源简介
使用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++)
- 基于VC的MFC计算器
- 整数小数四则运算计算器(C语言版用
- c语言课程设计之计算器
- C++builder实现计算器
- 分数计算器C++
- c++计算器 类与对象的练习
- 51单片机做简易计算器
- at89c51单片机+矩阵键盘编写的计算器
- 桌面计算器
- 课程设计--计算器基于MFC
- 基于QT的三元一次方程计算器
- 纯C语言写计算器界面源码
- 密码学MFC实现仿射加密解密超级计算
- C语言一个简易计算器程序
- 基于51单片机的智能计算器(实现两个
- STC15F单片机制作的:计算器、万年历
- 用8051与1601LCD设计的计算器
- 基于51单片机的计算器
- 菜单实现加单计算器(个人原创c++源
- 矩阵计算器(定积分计算器.cpp)
- c++控制台 计算器(正常运算和定义)
- c++源码:原木材积计算器
- c++入门级计算器源码(实现了加、减
- 一元稀疏多项式计算器
- c++ 简易计算器
- 计算器 实现普通计算、进制转换和阶
- 基于Qt界面设计的科学计算器
- c++ 计算器
- MFC入门教程之计算器
评论
共有 条评论