資源簡介
一個與系統自帶的計算器的計算非常相似計算器,用VC++寫的

代碼片段和文件信息
#include?“stdafx.h“
#include?“colorbtn.h“
??
#ifdef?_DEBUG
#undef?THIS_FILE
static?char?baseD_CODE?THIS_FILE[]?=?__FILE__;
#endif
//?no?automatic?class?substitution?for?this?file!
#ifdef?CColorButton
#undef?CColorButton??????CColorButton
#endif
//?CColorButton
IMPLEMENT_DYNAMIC(CColorButton?CButton)
CColorButton::CColorButton()?
{??
#if?(_MFC_VER?0x0250)
??hwndOwner?=?NULL;??//?initialize?hwndOwner?for?GetOwner()?and?SetOwner()?support?in?MFC?2.5
#endif?
}?
CColorButton::~CColorButton()
{
}?
BOOL?CColorButton::Attach(const?UINT?nID?CWnd*?pParent?const?COLORREF?BGColor?const?COLORREF?FGColor?const?COLORREF?DisabledColor?const?UINT?nBevel)
{
if?(!SubclassDlgItem(nID?pParent))
return?FALSE;
m_fg?=?FGColor;
m_bg?=?BGColor;?
m_disabled?=?DisabledColor;
m_bevel?=?nBevel;
return?TRUE;
}?
void?CColorButton::DrawItem(LPDRAWITEMSTRUCT?lpDIS)
{
CDC*?pDC?=?CDC::FromHandle(lpDIS->hDC);
UINT?state?=?lpDIS->itemState;?
CRect?focusRect?btnRect;
focusRect.CopyRect(&lpDIS->rcItem);?
btnRect.CopyRect(&lpDIS->rcItem);?
//
//?Set?the?focus?rectangle?to?just?past?the?border?decoration
//
focusRect.left?+=?4;
????focusRect.right?-=?4;
????focusRect.top?+=?4;
????focusRect.bottom?-=?4;
??????
//
//?Retrieve?the?button‘s?caption
//
????const?int?bufSize?=?512;
????TCHAR?buffer[bufSize];
????GetWindowText(buffer?bufSize);
//
//?Draw?and?label?the?button?using?draw?methods?
????DrawFilledRect(pDC?btnRect?GetBGColor());?
????Drawframe(pDC?btnRect?GetBevel());
?? DrawButtonText(pDC?btnRect?buffer?GetFGColor());
//
//?Now?depending?upon?the?state?redraw?the?button?(down?image)?if?it?is?selected
//?place?a?focus?rectangle?on?it?or?redisplay?the?caption?if?it?is?disabled
//
if?(state?&?ODS_FOCUS)?{
DrawFocusRect(lpDIS->hDC?(LPRECT)&focusRect);
if?(state?&?ODS_SELECTED){?
???? DrawFilledRect(pDC?btnRect?GetBGColor());?
???? Drawframe(pDC?btnRect?-1);
?? DrawButtonText(pDC?btnRect?buffer?GetFGColor());
DrawFocusRect(lpDIS->hDC?(LPRECT)&focusRect);
}
}
else?if?(state?&?ODS_DISABLED)?{
???? //COLORREF?disabledColor?=?bg?^?0xFFFFFF;?//?contrasting?color
?? DrawButtonText(pDC?btnRect?buffer?GetDisabledColor());
????}
}?
void?CColorButton::Drawframe(CDC?*DC?CRect?R?int?Inset)
{?
COLORREF?dark?light?tlColor?brColor;
int?i?m?width;
width?=?(Inset?0)??-Inset?:?Inset;
for?(i?=?0;?i? m?=?255?/?(i?+?2);
dark?=?PALETTERGB(m?m?m);
m?=?192?+?(63?/?(i?+?1));
light?=?PALETTERGB(m?m?m);
??
?? if?(?width?==?1?)?{
light?=?RGB(255?255?255);
dark?=?RGB(128?128?128);
}
if?(?Inset?0?)?{
tlColor?=?dark;
brColor?=?light;
}
else?{
tlColor?=?light;
brColor?=?dark;
}
DrawLine(DC?R.left?R.top?R.right?R.top?tlColor); //?Across?top
DrawLine(DC?R.left?R.top?R.left?R.bottom?tlCo
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????8465??2008-03-17?20:56??Xycalc1\Xycalc1\XYCALC.clw
?????文件???????6065??2002-09-17?15:48??Xycalc1\Xycalc1\ReadMe.txt
?????文件????????537??2002-05-20?17:41??Xycalc1\Xycalc1\XYCALC.dsw
?????文件???????1447??2002-06-20?18:54??Xycalc1\Xycalc1\XYCALC.h
?????文件???????2168??2002-06-25?10:07??Xycalc1\Xycalc1\XYCALC.cpp
?????文件???????3544??2002-06-25?10:06??Xycalc1\Xycalc1\XYCALCDlg.h
?????文件??????19813??2002-07-19?16:21??Xycalc1\Xycalc1\XYCALCDlg.cpp
?????文件???????1054??2002-05-20?17:22??Xycalc1\Xycalc1\StdAfx.h
?????文件????????208??2002-05-20?17:22??Xycalc1\Xycalc1\StdAfx.cpp
?????文件???????1382??2002-05-20?17:22??Xycalc1\Xycalc1\MakeHelp.bat
?????文件?????222208??2008-03-17?20:56??Xycalc1\Xycalc1\XYCALC.ncb
?????文件???????3163??2008-03-17?20:55??Xycalc1\Xycalc1\XYCALC.plg
?????文件???????5518??2002-07-20?17:06??Xycalc1\Xycalc1\KXdlg.h
?????文件??????37043??2002-09-17?15:56??Xycalc1\Xycalc1\KXdlg.cpp
?????文件???????1380??2002-06-20?16:32??Xycalc1\Xycalc1\CountDlg.h
?????文件???????2419??2002-06-25?10:07??Xycalc1\Xycalc1\CountDlg.cpp
?????文件???????1225??2002-06-05?23:37??Xycalc1\Xycalc1\Count.h
?????文件???????1429??2002-06-04?22:25??Xycalc1\Xycalc1\Count.cpp
?????文件???????1100??2002-06-06?16:24??Xycalc1\Xycalc1\Inia1.h
?????文件????????883??2002-06-25?10:07??Xycalc1\Xycalc1\Inia1.cpp
?????文件???????4631??2002-09-17?15:56??Xycalc1\Xycalc1\colorbtn.cpp
?????文件???????1193??2002-06-20?16:27??Xycalc1\Xycalc1\colorbtn.h
?????文件??????43008??2002-06-20?16:29??Xycalc1\Xycalc1\MFM1992
?????文件???????1707??2002-06-25?10:19??Xycalc1\Xycalc1\MFECToolTip.h
?????文件???????7691??2002-09-17?15:33??Xycalc1\Xycalc1\MFECToolTip.cpp
?????文件???????1238??2002-07-20?17:17??Xycalc1\Xycalc1\tempzhan1.h
?????文件??????20374??2008-03-17?20:55??Xycalc1\Xycalc1\XYCALC.rc
?????文件???????1078??2008-03-17?20:55??Xycalc1\Xycalc1\Compute.ico
?????文件???????6711??2008-03-17?20:55??Xycalc1\Xycalc1\resource.h
?????文件??????48804??2008-03-17?20:55??Xycalc1\Xycalc1\XYCALC.APS
............此處省略16個文件信息
評論
共有 條評論