drawnumber(cpaintdc &dc).txt

来自「用VC++设计与实现扫雷系统」· 文本 代码 · 共 46 行

TXT
46
字号
//in file : MineWnd.cpp

//布下时间种子,时间间隔为1000us
//到预定时间间隔后发送Windows命令消息WM_TIMER
m_uTimer = SetTimer(500, 1000, NULL);



void CMineWnd::OnTimer(UINT nIDEvent)
{
	//判断这次命令是否为所布下的时间种子到时而产生的
	if (nIDEvent == m_uTimer)
	{
		//数字显示定时器到时处理
		m_uSpendTime++;
		Invalidate();
	}
	else
	{
		CWnd::OnTimer(nIDEvent);
	}
}//in file : MineWnd.cpp

//数字模块绘制

void CMineWnd::DrawNumber(CPaintDC &dc)
{
	CDC dcMemory;
	dcMemory.CreateCompatibleDC(&dc);
	dcMemory.SelectObject(m_bmpNumber);

	//绘制数字图像的3D外框
	dc.Draw3dRect (16, 15, 41, 25, m_clrDark, COLOR_WHITE);

	int num;
	//绘制数字图像,分别绘制时间的百位,十位,个位的数字
	num = m_uSpendTime / 100;
	dc.StretchBlt(m_uNumRect[0], 16, 13, 23, &dcMemory, 0, 
		276-23*(num+1), 13, 23, SRCCOPY);
	num = (m_uSpendTime-num*100) / 10;
	dc.StretchBlt(m_uNumRect[0] + 13, 16, 13, 23, &dcMemory, 0, 
		276-23*(num+1), 13, 23, SRCCOPY);
	num = m_uSpendTime % 10;
	dc.StretchBlt(m_uNumRect[0] + 26, 16, 13, 23, &dcMemory, 0, 
		276-23*(num+1), 13, 23, SRCCOPY);
}

⌨️ 快捷键说明

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