📄 led.cpp
字号:
// LED.cpp : implementation file
//
#include "stdafx.h"
#include "Mine.h"
#include "LED.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CLED
CLED::CLED()
{
}
CLED::CLED(CWnd* parent,int range,int number,UINT nID,CPoint leftup)
{
m_Range = range;
m_Number = number;
m_LeftUp = leftup;
m_LEDRect.SetRect(leftup,CPoint(leftup.x+range*BITMAP_WIDE,leftup.y+BITMAP_HEIGHT));
Create( AfxRegisterWndClass(0),//全局函数AfxRegisterWndClass() to get lpszClassName
NULL,
WS_CHILD|WS_VISIBLE,
m_LEDRect,
parent,//指向其父类的指针,即CBombDialog
nID, //子窗口的ID值,这在Resource.h中定义
NULL);
/////////////////////////////////////////////////必须要有Create(),主函数中的Delete才有效
//This method creates a Windows CE child window and attaches it to the CWnd object
}
CLED::~CLED()
{
}
BEGIN_MESSAGE_MAP(CLED, CWnd)
//{{AFX_MSG_MAP(CLED)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CLED message handlers
void CLED::SetNumber(int number)
{
m_Number = number;
}
int CLED::GetNumber()
{
return m_Number;
}
void CLED::DisplayNumber(CDC* pDC)//要与雷区一致地在主窗口中显示,则要把主窗口的pDC传过来
{
//CDC * pDC=GetDC();
CBitmap bitmap;
CDC dc;
bitmap.LoadBitmap(IDB_LED);//都在这个总位图中取局部位图,所以先确定
dc.CreateCompatibleDC(pDC);
dc.SelectObject(&bitmap);
int left,order;
left = m_Number;
int nYLocation = 0;
for(int i=1;i<=m_Range;i++)
{
order = left/(int(pow(10.0,m_Range-i)));
left = left - order*(int(pow(10.0,m_Range-i)));
nYLocation = (11-order)*23;
pDC->BitBlt(m_LeftUp.x+(i-1)*BITMAP_WIDE,1,BITMAP_WIDE,BITMAP_HEIGHT,&dc,0,nYLocation,SRCCOPY);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -