//重画函数 void CScoreView::OnPaint() { CPaintDC dc(this); //设置 DC dc.SetBkMode(TRANSPARENT); dc.SetTextColor(RGB(255,255,255)); dc.SelectObject(CSkinResourceManager::GetDefaultFont()); //设置区域 CRect rt; GetClientRect(&rt); CRgn WndRgn; WndRgn.CreateRoundRectRgn(rt.left,rt.top,rt.right,rt.bottom,10,10); SetWindowRgn(WndRgn,TRUE); WndRgn.DeleteObject(); //绘画背景 CImageHandle ImageHandle(&m_ImageBack); m_ImageBack.BitBlt(dc,0,0); //显示分数 WORD wStation=0; TCHAR szBuffer[64]=TEXT(""); CImageHandle HandleWinLose(&m_ImageWinLose); INT nWinLoseWidth = m_ImageWinLose.GetWidth()/3; INT nWinLostHeight = m_ImageWinLose.GetHeight(); for (WORD i=0;i<CountArray(m_szUserName);i++) { if (m_szUserName[i][0]!=0) { //输出名字 CRect rcName(28,wStation*29+79,117,(wStation+1)*29+79); dc.DrawText(m_szUserName[i],lstrlen(m_szUserName[i]),&rcName,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS); //输出成绩 CRect rcScore(117,wStation*29+79,182,(wStation+1)*29+79); _snprintf(szBuffer,sizeof(szBuffer),TEXT("%ld"),m_lScore[i]); dc.DrawText(szBuffer,lstrlen(szBuffer),&rcScore,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS); //胜负标志 BYTE byIndex = 0; if( m_lScore[i] == 0 ) byIndex = 2; else if( m_lScore[i] < 0 ) byIndex = 1; m_ImageWinLose.AlphaDrawImage(&dc,182+(253-182)/2-nWinLoseWidth/2,wStation*29+79+29/2-nWinLostHeight/2,nWinLoseWidth,nWinLostHeight, byIndex*nWinLoseWidth,0,RGB(255,0,255)); //服务费用 CRect rcService(253,wStation*29+79,321,(wStation+1)*29+79); _snprintf(szBuffer,sizeof(szBuffer),TEXT("%ld"),m_lGameTax[i]); dc.DrawText(szBuffer,lstrlen(szBuffer),&rcService,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS); //设置变量 wStation++; } } return; }
//重画函数 void CScoreView::OnPaint() { CPaintDC dc(this); //设置 DC dc.SetBkMode(TRANSPARENT); dc.SetTextColor(RGB(0,0,0)); dc.SelectObject(&CSkinAttribute::m_DefaultFont); //绘画背景 CImageHandle ImageHandle(&m_ImageBack); m_ImageBack.BitBlt(dc,0,0); //显示分数 WORD wStation=0; TCHAR szBuffer[64]=TEXT(""); for (WORD i=0;i<CountArray(m_szUserName);i++) { if (m_szUserName[i][0]!=0) { //输出名字 CRect rcName(15,i*19+63,141,i*19+82); dc.DrawText(m_szUserName[i],lstrlen(m_szUserName[i]),&rcName,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS); //输出成绩 CRect rcScore(141,i*19+63,197,i*19+82); _snprintf(szBuffer,sizeof(szBuffer),TEXT("%ld"),m_lScore[i]); dc.DrawText(szBuffer,lstrlen(szBuffer),&rcScore,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS); //设置变量 wStation++; } } //显示税收 CRect rcName(15,i*19+63,141,i*19+82); dc.DrawText(TEXT("税 收"),lstrlen(TEXT("税 收")),&rcName,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS); //输出税收 CRect rcScore(141,i*19+63,197,i*19+82); _snprintf(szBuffer,sizeof(szBuffer),TEXT("%ld"),m_lTax); dc.DrawText(szBuffer,lstrlen(szBuffer),&rcScore,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS); return; }
//重画函数 void CScoreView::OnPaint() { CPaintDC dc(this); //加载资源 CImageHandle HandleBack(&m_ImageBack); //绘画背景 m_ImageBack.AlphaDrawImage(&dc,0,0,RGB(255,0,255)); //设置 DC dc.SetBkMode(TRANSPARENT); dc.SetTextColor(RGB(250,250,250)); dc.SelectObject(&CSkinAttribute::m_DefaultFont); //提示信息 TCHAR szBuffer[128]=TEXT(""); //显示分数 CImageHandle HandleWinLose(&m_ImageWinLose); INT nWinLoseWidth = m_ImageWinLose.GetWidth()/2; INT nWinLostHeight = m_ImageWinLose.GetHeight(); WORD wCount = 0; for (WORD i=0;i<CountArray(m_szUserName);i++) { if (m_szUserName[i][0]!=0) { //输出名字 INT nScPos = 80; CRect rcName(26,wCount*29+nScPos,126,(wCount+1)*29+nScPos); dc.DrawText(m_szUserName[i],lstrlen(m_szUserName[i]),&rcName,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS); //输出成绩 CRect rcScore(95,wCount*29+nScPos,195,(wCount+1)*29+nScPos); _snprintf(szBuffer,sizeof(szBuffer),TEXT("%ld"),m_lScore[i]); dc.DrawText(szBuffer,lstrlen(szBuffer),&rcScore,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS); //胜负标志 m_ImageWinLose.AlphaDrawImage(&dc,218-nWinLoseWidth/2,wCount*29+nScPos+13-nWinLostHeight/2,nWinLoseWidth,nWinLostHeight, (m_lScore[i]>0)?0:nWinLoseWidth,0,RGB(255,0,255)); //输出税收 CRect rcTax(235,wCount*29+nScPos,335,(wCount+1)*29+nScPos); _snprintf(szBuffer,sizeof(szBuffer),TEXT("%ld"),m_lTax[i]); dc.DrawText(szBuffer,lstrlen(szBuffer),&rcTax,DT_CENTER|DT_VCENTER|DT_SINGLELINE|DT_END_ELLIPSIS); wCount++; } } return; }
//绘画界面 VOID CDlgInsureGame::OnDrawClientArea(CDC * pDC, INT nWidth, INT nHeight) { m_ImageFrame.DrawImage(pDC,30,55); DrawNumberString(pDC,m_lGameGold,200,78); DrawNumberString(pDC,m_lStorageGold,200,104); CRect rcScore(120,80,200,95); pDC->DrawText(TEXT("当前游戏币:"),rcScore,DT_END_ELLIPSIS | DT_CENTER | DT_WORDBREAK); CRect rcBank(120,105,200,120); pDC->DrawText(TEXT("保险柜游戏币:"),rcBank,DT_END_ELLIPSIS | DT_CENTER | DT_WORDBREAK); CRect rect(0,315,nWidth,nHeight); CString strInfo; strInfo.Format(TEXT("温馨提示:存入游戏币免手续费,取出将扣除%ld‰的手续费"), m_wRevenueTake); pDC->DrawText(strInfo,rect,DT_END_ELLIPSIS | DT_CENTER | DT_WORDBREAK); }
//重画函数 void CPrompt::OnPaint() { CPaintDC dc(this); //设置 DC dc.SetBkMode(TRANSPARENT); dc.SetTextColor(RGB(0,0,0)); dc.SelectObject(CSkinResourceManager::GetDefaultFont()); //创建字体 CFont ViewFont; ViewFont.CreateFont(-12,0,0,0,400,0,0,0,134,3,2,1,1,TEXT("Arial")); CFont *pOldFont=dc.SelectObject(&ViewFont); CRect rcScore(0,30,220,30+19); dc.DrawText(m_tStr,lstrlen(m_tStr),&rcScore,DT_VCENTER|DT_CENTER|DT_END_ELLIPSIS); //还原字体 dc.SelectObject(pOldFont); ViewFont.DeleteObject(); return; }
//重画函数 void CScoreView::OnPaint() { if(this->IsWindowVisible()!=TRUE)return; CPaintDC dc(this); //SetupRegion(&dc,m_ImageBack,RGB(255,0,255)); //设置 DC dc.SetBkMode(TRANSPARENT); dc.SetTextColor(RGB(250,250,250)); dc.SelectObject(CSkinResourceManager::GetDefaultFont()); //绘画背景 CImageHandle ImageHandle(&m_ImageBack); if (m_lGameScore > 0L) { // m_ImageBack.BitBlt(dc.GetSafeHdc(),0,0,m_ImageBack.GetWidth()/3,m_ImageBack.GetHeight(),0,0,SRCCOPY); m_ImageBack.AlphaDrawImage(&dc,0,0,m_ImageBack.GetWidth()/3,m_ImageBack.GetHeight(),0,0,RGB(255,0,255)); } else if(m_lGameScore == 0L) { m_ImageBack.AlphaDrawImage(&dc,0,0,m_ImageBack.GetWidth()/3,m_ImageBack.GetHeight(),m_ImageBack.GetWidth()/3,0,RGB(255,0,255)); } else { m_ImageBack.AlphaDrawImage(&dc,0,0,m_ImageBack.GetWidth()/3,m_ImageBack.GetHeight(),2*m_ImageBack.GetWidth()/3,0,RGB(255,0,255)); } //显示分数 TCHAR szBuffer[64]=TEXT(""); CRect rcScore(60,60,60+65,60+19); //用户积分 _snprintf(szBuffer,sizeof(szBuffer),TEXT("%ld"),m_lGameScore); dc.DrawText(szBuffer,lstrlen(szBuffer),&rcScore,DT_VCENTER|DT_CENTER|DT_END_ELLIPSIS); //dc.SetTextColor(RGB(0,0,0)); //显示秒数 TCHAR szBuffe[64]=TEXT(""); int ileft=52; int itop=8; CRect rcScor(ileft,itop,ileft+15,itop+15); //创建资源 CFont InfoFont; InfoFont.CreateFont(-14,0,0,0,10,0,0,0,4,0,2,1,2,TEXT("宋体")); //设置 DC dc.SetTextAlign(TA_CENTER|TA_TOP); CFont * pOldFont=dc.SelectObject(&InfoFont); //绘画信息 _snprintf(szBuffe,sizeof(szBuffer),TEXT("%ld"),m_bTimes); //dc.Ellipse(&rcScor); dc.SetTextColor(RGB(255,255,255)); dc.TextOut(ileft+132,itop-2,szBuffe); //清理资源 dc.SelectObject(pOldFont); InfoFont.DeleteObject(); return; }