资源简介
一个与系统自带的计算器的计算非常相似计算器,用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个文件信息
相关资源
- VC++ 多线程文件读写操作
- 移木块游戏,可以自编自玩,vc6.0编写
- VC++MFC小游戏实例教程(实例)+MFC类库
- VC++实现CMD命令执行与获得返回信息
- c++ 多功能计算器
- VC++基于OpenGL模拟的一个3维空间模型
- C语言课设计算器
- 基于VC++的SolidWorks二次开发SolidWorks
- 基于51单片机的简易计算器
- 派克变换VC++源码(附文档)
- VC++ 串口
- VC++ 大富翁4_大富翁游戏源码
- VC++ 摄像头视频采集与回放源程序
- 转 VC++ 实现电子邮件(Email)发送
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- VC++ 服务程序编写及安装与卸载
- VC++6.0番茄西红柿VAXvirsual assist X完美破
- 基于改进的fcm算法的图像分割vc++
- VC++6.0 绿色版,免安装,非常好用。
- Microsoft Visual C++ 2005 Redistributable Pack
- VC++MFC课程设计的学生成绩管理系统
- 大智慧365DLL插件设计
- VC++6.0汉化包
- VC++完整商业界面源码(再上传)
- VC++编程技术600个大型项目源码.rar
- VC++实现RSA加密算法
- 多功能计算器实现C++代码以及代码详
- VC++ 中国象棋经典游戏源代码
- 郁金香VC++游戏辅助视频教程
- C语言进阶源码---基于graphics实现图书
评论
共有 条评论