资源简介
这是一个基于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显示图片C++)
- 基于MFC的学生管理系统
- c++ MFC成绩管理系统
- C++MFC实现员工管理系统
- 产生式系统正反向推理MFC实现和操作
- MFC图书管理系统课程设计
- 学生信息管理系统MFC,VC++6.0,Access数
- mfc 写的 网络验证程序 内含操作 MDB数
- 利用MFC的Csocket类实现网络通信
- MFC共享内存
- VC++的MFC计算机图形学点线多边形裁剪
- MFC时钟 VS2008
- 图书管理信息系统课程设计 C++ MFC
- mfc-static控件显示图片-滚动条-放大缩
- VC++6.0MFC扫雷程序
- 基于MFC的绘图程序,可以选择,移动
- 基于Scintilla开发的MFC多文档源代码编
- MFC实现简易绘图软件
- 2个线程同时运行MFC
- 银行排号系统MFC实现和控制台实现
- VC++编写的科学计算器
- 在MFC的对话框类中向闭合区域填充颜
- MFC+OpenGL 读取并显示STL三维模型
- MFC与SQL Server
- MFC编写的图书管理系统,用到数据库
- MFC 版俄罗斯方块
- 基于MFC的UDP通信实现
- 自定义消息
- mfc 实现迷宫程序
- 记账本小程序
评论
共有 条评论