资源简介
这是一个基于MFC的计算器。可运行,全部文档齐全。
其是一个有优化了的计算器.支持科学计算,且界面友善

代码片段和文件信息
// 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_LBUTTONUP()
ON_WM_LBUTTONDOWN()
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::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; //1:focus state
Invalidate(); //重绘客户区
}
CButton::OnLButtonUp(nFlags point);
}
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; //2:select state
Invalidate(); //重绘客户区
}
CButton::OnLButtonDown(nFlags point);
}
void CAdvButton::onmousemove(UINT nFlags CPoint point)
{
// TODO: Add your message handler code here and/or call default
if(!m_IsTimerOn) //如果计时器没用启动
{
SetTimer(100010NULL); //启动计时器
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
//get client rect
GetCli
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-08-17 16:10 Calculator\
文件 4833 2011-08-17 16:10 Calculator\AdvButton.cpp
文件 2213 2011-08-11 16:37 Calculator\AdvButton.h
文件 1361 2011-08-12 19:58 Calculator\AdvEdit.cpp
文件 1177 2011-08-11 17:16 Calculator\AdvEdit.h
文件 23008 2011-08-17 15:21 Calculator\Calculator.aps
文件 2877 2011-08-17 15:21 Calculator\Calculator.clw
文件 2119 2011-08-06 16:20 Calculator\Calculator.cpp
文件 4484 2011-08-11 17:17 Calculator\Calculator.dsp
文件 528 2011-08-06 16:20 Calculator\Calculator.dsw
文件 1368 2011-08-06 16:20 Calculator\Calculator.h
文件 74752 2011-08-17 16:10 Calculator\Calculator.ncb
文件 203776 2011-08-17 16:10 Calculator\Calculator.opt
文件 254 2011-08-17 16:10 Calculator\Calculator.plg
文件 7377 2011-08-12 22:25 Calculator\Calculator.rc
文件 18042 2011-08-12 23:04 Calculator\CalculatorDlg.cpp
文件 3962 2011-08-12 23:02 Calculator\CalculatorDlg.h
目录 0 2011-08-17 16:10 Calculator\Debug\
文件 22180 2011-08-17 16:10 Calculator\Debug\AdvButton.obj
文件 0 2011-08-17 15:20 Calculator\Debug\AdvButton.sbr
文件 15254 2011-08-17 15:20 Calculator\Debug\AdvEdit.obj
文件 0 2011-08-17 15:20 Calculator\Debug\AdvEdit.sbr
文件 3154944 2011-08-17 15:20 Calculator\Debug\Calculator.bsc
文件 131138 2011-08-17 16:10 Calculator\Debug\Calculator.exe
文件 278140 2011-08-17 16:10 Calculator\Debug\Calculator.ilk
文件 20896 2011-08-17 15:20 Calculator\Debug\Calculator.obj
文件 6936748 2011-08-17 15:20 Calculator\Debug\Calculator.pch
文件 476160 2011-08-17 16:10 Calculator\Debug\Calculator.pdb
文件 3968 2011-08-12 22:25 Calculator\Debug\Calculator.res
文件 0 2011-08-17 15:20 Calculator\Debug\Calculator.sbr
文件 86743 2011-08-17 15:20 Calculator\Debug\CalculatorDlg.obj
............此处省略12个文件信息
- 上一篇:MFC显示图片C++)
- 下一篇:遗传算法c++源程序
相关资源
- 基于mfc的多线程文件传输
- MFC数字钟(基于VC6.0)
- VC++MFC小游戏实例教程(实例)+MFC类库
- ChartCtrl控件库(可在VS2019中使用)
- 商品库存管理系统 C++ MFC
- mfc 调用redis
- MFC视频播放器源码(支持avi/wma/mp3等格
- mfc绘图大全(画直线、矩形、椭圆)
- MFC控件重绘
- hook,捕获所有案件,查找所有窗口,
- (学习)VS2010之MFC入门到精通教程
- MFC文档_视图_框架_模板结构体系深入
- 简单员工管理系统(适合初学MFC)
- MFC五子棋游戏
- MFC UDP编程
- MFC的异步网络通讯应用程序
- C++MFC模块讲解,黑发程序员课程整理
- 一个简单而强大的基于MFC的web server源
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- MFCaccess.rar
- VC++MFC课程设计的学生成绩管理系统
- MFC 日历控件 万年历 Calendar自绘
- CrystalDiskInfo-HDD/SSD硬盘信息,SMART信息
- MFC自定义界面HUI,高效简单,含详细
- 仿射密码-Affine cipher
- c++MFC车牌自动识别定位,只能定位和
- mfc+sql 酒店客房管理系统
- 基于图割的图像分割OpenCV+MFC实现
- MFC绘制Bezier曲线B样条曲线曲线拟合
- MFC坦克大战
评论
共有 条评论