⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 battbtn.cpp

📁 自己在wince的环境下做的一移动数字电视驱动
💻 CPP
字号:
// BattBtn.cpp : implementation file
//

#include "stdafx.h"
#include "tcCMMB.h"
#include "BattBtn.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CBattBtn

CBattBtn::CBattBtn()
{
	m_Normal.LoadBitmap(IDB_BTN_BATTERY_BODY);
}

CBattBtn::~CBattBtn()
{
}


BEGIN_MESSAGE_MAP(CBattBtn, CButton)
	//{{AFX_MSG_MAP(CBattBtn)
	ON_WM_ERASEBKGND()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CBattBtn message handlers

void CBattBtn::PreSubclassWindow() 
{
	UINT nBS;

	nBS = GetButtonStyle();
	//if (nBS & BS_DEFPUSHBUTTON) m_MouseOnButton = TRUE;
	SetButtonStyle(nBS | BS_OWNERDRAW);
	CButton::PreSubclassWindow();
	ModifyStyle(WS_TABSTOP, 0);
	
}

void CBattBtn::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) 
{
	CDC *pDC = CDC::FromHandle(lpDrawItemStruct->hDC);
	CRect r;

	GetClientRect(&r);

	CDC memdc;
	// the main body of battery

	memdc.CreateCompatibleDC(pDC);
	memdc.SelectObject(m_Normal);
	pDC->BitBlt(0, 0, r.Width(), r.Height(), &memdc, 0, 0, SRCCOPY);	
	memdc.DeleteDC();

	// calculate the full area
	r.left += 6;
	r.top += 3;
	r.right -= 3;
	r.bottom -= 3;
	//
	r.left = r.right - m_Level*(r.right-r.left)/100;

	// the color of battery
	CBrush nBrush(RGB(0xff,0xff,0xff));
	pDC->FillRect(&r, &nBrush);
	
}

BOOL CBattBtn::OnEraseBkgnd(CDC* pDC) 
{
	return FALSE;
}

void CBattBtn::SetBatteryLevel(int level)
{
	m_Level = level;
	Invalidate();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -