资源简介
一个与系统自带的计算器的计算非常相似计算器,用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++Spin(旋转)控件用法
- VC++摄像头视频采集及回放源程序
- vs2013 VC++项目里的Windows窗体应用程序
- VC++ 实现增大可执行文件的体积 自
- C++简单的画图程序源代码
- C++builder编写的简单科学计算器
- DTW算法VC++实现 源代码非常好,注释非
- VC++ 中实现进制2进制,10进制,16进制
- C++ 一元多项式计算器
- crm vc++源代码
- 门禁系统源代码 VC++
- 简单计算器vs2010+MFC编写
- 大数计算器
- 基于神经网络的车牌识别系统//VC++毕
- 基于51单片机的c语言编写的计算器程
- 操作系统实验--电梯调度 VC++实现
- MFC+下的一个功能强大的矩阵计算器
- vc++6.0实现的学生成绩管理系统代码
- 用vc++6.0做 的RSA的加密与解密程序
- c语言课程设计报告 计算器的实现内
- VC++ 四种进程间通信的完整
- MFC小学生速算练习系统VS2017
- C语言编在VC环境下带界面的计算器
- 分数计算器课程设计
- VC使用CStringArray类创建和使用字符串数
- VC++使用Webbrowser开发浏览器
- 人事管理系统(使用MFC单文档程序,
- MFC 实现的坦克大战
- 单片机简易计算器的设计包含设计报
- C语言大作业 菜单驱动的学生成绩管理
评论
共有 条评论