• 大小: 117KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: C/C++
  • 标签: VC++  计算器  

资源简介

一个与系统自带的计算器的计算非常相似计算器,用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 < width; i += 1) {
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个文件信息

评论

共有 条评论