資源簡(jiǎn)介
使用VC6.0編的簡(jiǎn)易計(jì)算器,基本功能都能實(shí)現(xiàn)

代碼片段和文件信息
//?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();??//刪除區(qū)域?qū)ο?br/> m_ClientRgn.CreateEllipticRgnIndirect(&m_ClientRect);???//創(chuàng)建橢圓區(qū)域
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); //得到按鈕客戶區(qū)域的屏幕坐標(biāo)位置
GetCursorPos(&m_Point); //得到鼠標(biāo)的屏幕坐標(biāo)位置
if((rect.PtInRect(m_Point))&&(m_State?!=?2))
{
m_State?=?2;???//
Invalidate();???//重繪客戶區(qū)
}
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); //得到按鈕客戶區(qū)域的屏幕坐標(biāo)位置
GetCursorPos(&m_Point); //得到鼠標(biāo)的屏幕坐標(biāo)位置
if((rect.PtInRect(m_Point))&&(m_State?!=?1))
{
m_State?=?1;???//
Invalidate();???//重繪客戶區(qū)
}
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) //?如果計(jì)時(shí)器沒(méi)有啟動(dòng)
{
SetTimer(1000100NULL);??//?啟動(dòng)計(jì)時(shí)器
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); //得到按鈕客戶區(qū)域的屏幕坐標(biāo)位置
GetCursorPos(&m_Point); //得到鼠標(biāo)的屏幕坐標(biāo)位置
if(rect.PtInRect(m_Point))
if((m_State?!=?1)&&(m_State?!=?2)){
m_State?=?1;???//
Invalidate();???//重繪客戶區(qū)
}
else{ //如果鼠標(biāo)不在按鈕的客戶區(qū)了
if(m_State?!=?0)
{
m_State?=?0;
Invalidate();?//重繪客戶區(qū)
}
KillTimer(nIDEvent);//關(guān)閉計(jì)時(shí)器
m_IsTimerOn?=?FALSE;
}
CButton::OnTimer(nIDEvent);
}
//在按鈕控件客戶區(qū)的繪制函數(shù),也是實(shí)現(xiàn)所有高級(jí)控件的關(guān)鍵
void?CAdvButton::DrawItem(LPDRAWITEMSTRUCT?lpDrawItemStruct)?
{
//?TODO:?Add?your?code?to?draw?the?specified?item
GetClientRect(&m_ClientRect); //得到窗口的有效矩形區(qū)域
m_ClientRgn
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????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
評(píng)論
共有 條評(píng)論