void CDlgDriveEconomy::OnPaint() 
{
	CPaintDC dc(this);
	CRect rc;
	GetClientRect(rc);
	CBitmap* pOldBmp = memDC.SelectObject(&bitmap);
	memDC.BitBlt(0,0, rc.Width(), rc.Height(), &bk_normal_dc, 0, 0, SRCCOPY);
	
	CString str;
	CRect Rect;
	enBtnState state;
	
	for(int i=0;i<enCtrCount;i++)
	{
		//绘制背景
		str		= m_Item[i].chChar;
		Rect	= m_Item[i].rect;
		state	= m_Item[i].nState;
		DrawItems(&memDC,Rect,state);
		DrawBtnText(&memDC,Rect,str,smallfont,RGB(255,255,255),DT_CENTER|DT_BOTTOM);
	}
	
	DrawBtnText(&memDC,g_retTitile,m_csTitile,bigfont,RGB(255,255,255),DT_VCENTER|DT_LEFT);
	
	BOOL b = dc.BitBlt(0, 0, rc.Width(), rc.Height(),&memDC,0,0,SRCCOPY);
	ASSERT(b);
	
	memDC.SelectObject(pOldBmp);
}
void CDlgFailureDiagonostic::OnPaint() 
{
	CPaintDC dc(this);
	CRect rc;
	GetClientRect(rc);
	CBitmap* pOldBmp = memDC.SelectObject(&bitmap);
	memDC.BitBlt(0,0, rc.Width(), rc.Height(), &bk_normal_dc, 0, 0, SRCCOPY);
	
	CString str;
	CRect Rect;
	enBtnState state;
	
	for(int i=0;i<enCtrCount;i++)
	{
		//»æÖƱ³¾°
		str		= m_Item[i].chChar;
		Rect	= m_Item[i].rect;
		state	= m_Item[i].nState;
		DrawItems(&memDC,Rect,state);
		Rect.bottom += 35;
		DrawBtnText(&memDC,Rect,str,CGDICommon::Instance()->smallfont(),
			RGB(255,255,255),DT_CENTER|DT_BOTTOM);
	}

	DrawBtnText(&memDC,g_retTitile,m_csTitile,CGDICommon::Instance()->bigbigfont(),
		RGB(255,255,255),DT_VCENTER|DT_CENTER);
	
	BOOL b = dc.BitBlt(0, 0, rc.Width(), rc.Height(),&memDC,0,0,SRCCOPY);
	ASSERT(b);
	
	memDC.SelectObject(pOldBmp);
}
Exemple #3
0
void CPhoneBook::OnPaint() 
{
	CPaintDC dc(this);
	CRect rc;
	GetClientRect(rc);
	CBitmap* pOldBmp = memDC.SelectObject(&bitmap);
	memDC.BitBlt(0,0, rc.Width(), rc.Height(), &bk_normal_dc, 0, 0, SRCCOPY);

	CString str;
	CRect Rect;
	enBtnState state;

	for(int i=0;i<11;i++)
	{
		//绘制背景
		str = m_Item[i].chChar;
		Rect = m_Item[i].rect;
		state = m_Item[i].nState;
	}


	CRect temprect;
	int j=0;
	for(j=0; j<5; j++)
	{
		temprect.top = m_Item[j].rect.top + 5;
		temprect.left = m_Item[j].rect.left + 15;
		temprect.right = m_Item[j].rect.right;
		temprect.bottom = m_Item[j].rect.bottom;
		DrawBtnText(&memDC,temprect,ItemStrName[j],midfont,RGB(255,255,255),DT_LEFT | DT_VCENTER);

		temprect.top = m_Item[j].rect.top + 5;
		temprect.left = m_Item[j].rect.left + 215;
		temprect.right = m_Item[j].rect.right -15;
		temprect.bottom = m_Item[j].rect.bottom;
		DrawBtnText(&memDC,temprect,ItemStrNum[j],midfont,RGB(255,255,255),DT_RIGHT | DT_VCENTER);

	}

	for( j=6; j<10; j++ )
	{
		temprect = m_Item[j].rect;
		DrawBtnText(&memDC,temprect,m_Item[j].chChar,smallfont,RGB(255,255,255),DT_CENTER | DT_VCENTER);
	}
	
	DrawBtnText(&memDC,g_retTitile,m_stTitle,bigfont,RGB(255,255,255),DT_LEFT | DT_VCENTER);

	BOOL b = dc.BitBlt(0, 0, rc.Width(), rc.Height(),&memDC,0,0,SRCCOPY);
	ASSERT(b);

	memDC.SelectObject(pOldBmp);	

	
	// Do not call CDialogBase::OnPaint() for painting messages
}
void CBrightnessSetDlg::OnPaint() 
{
	CPaintDC dc(this);
	CRect rc;
	GetClientRect(rc);
	CBitmap* pOldBmp = memDC.SelectObject(&bitmap);
	memDC.BitBlt(0,0, rc.Width(), rc.Height(), &bk_normal_dc, 0, 0, SRCCOPY);

	CString str;
	CRect Rect;
	enBtnState state;

	for(int i=0;i<7;i++)
	{
		//绘制背景
		str = m_Item[i].chChar;
		Rect = m_Item[i].rect;
		state = m_Item[i].nState;
		DrawItems(&memDC,Rect,state);
//		Rect.top = Rect.top + 54;
//		DrawBtnText(&memDC,Rect,str,RGB(255,125,0));
	}
	
	str = m_Item[1].chChar;
	Rect = m_Item[1].rect;
	state = BTN_STATE_DISABLE;
	if( CSysConfig::Instance().GetLanguage() != ID_CHINESE &&  CSysConfig::Instance().GetLanguage() != ID_ENGLISH )
		DrawBtnText(&memDC,Rect,str,CGDICommon::Instance()->bigbigfont(),
		RGB(255,255,255), DT_CENTER | DT_VCENTER);
	else
		DrawBtnText(&memDC,Rect,str,CGDICommon::Instance()->bigbigfont(),
		RGB(255,255,255), DT_CENTER | DT_VCENTER);
	
	str = m_Item[4].chChar;
	Rect = m_Item[4].rect;
	state = BTN_STATE_DISABLE;
	if( CSysConfig::Instance().GetLanguage() != ID_CHINESE &&  CSysConfig::Instance().GetLanguage() != ID_ENGLISH )
		DrawBtnText(&memDC,Rect,str,CGDICommon::Instance()->bigbigfont(),
		RGB(255,255,255), DT_CENTER | DT_VCENTER);
	else
		DrawBtnText(&memDC,Rect,str,CGDICommon::Instance()->bigbigfont(),
		RGB(255,255,255), DT_CENTER | DT_VCENTER);


	DrawBtnText(&memDC,g_retTitile,m_csTitile,CGDICommon::Instance()->bigbigfont(),
		RGB(255,255,255),DT_VCENTER|DT_CENTER);

	BOOL b = dc.BitBlt(0, 0, rc.Width(), rc.Height(),&memDC,0,0,SRCCOPY);
	ASSERT(b);

	memDC.SelectObject(pOldBmp);	
}
Exemple #5
0
void CDlgConfirm2::OnPaint() 
{
	CPaintDC dc(this);
	CRect rc;
	GetClientRect(rc);
	CBitmap* pOldBmp = memDC.SelectObject(&bitmap);
	memDC.BitBlt(0,0, rc.Width(), rc.Height(), &bk_normal_dc, 0, 0, SRCCOPY);

	CString str;
	CRect Rect;
	enBtnState state;

	//绘制背景
	for(int i=0;i<3;i++)
	{
		Rect = m_Item[i].rect;
		state = m_Item[i].nState;
		DrawItems(&memDC,Rect,state);
	}

	DrawBtnText(&memDC,CRect(0,80,494,274),m_stTitle,CGDICommon::Instance()->bigbigfont(),
		RGB(255,255,255),DT_CENTER|DT_WORDBREAK);

	BOOL b = dc.BitBlt(0, 0, rc.Width(), rc.Height(),&memDC,0,0,SRCCOPY);
	ASSERT(b);

	memDC.SelectObject(pOldBmp);
}
void CDlgAnswerList::OnPaint() 
{
	CPaintDC dc(this);
	CRect rc;
	GetClientRect(rc);
	CBitmap* pOldBmp = memDC.SelectObject(&bitmap);
	memDC.BitBlt(0,0, rc.Width(), rc.Height(), &bk_normal_dc, 0, 0, SRCCOPY);

	CString str;
	CRect Rect;
	enBtnState state;
	int i;

	for(i=0;i<BTN_COUNT;i++)
	{	//绘制背景
		str = m_Item[i].chChar;
		Rect = m_Item[i].rect;
		state = m_Item[i].nState;
		DrawItems(&memDC,Rect,state);
	}

	//绘制列表
	DrawList(&memDC);

	DrawBtnText(&memDC,g_retTitile,m_csTitile,CGDICommon::Instance()->bigbigfont(),
		RGB(255,255,255),DT_VCENTER|DT_CENTER);

	BOOL b = dc.BitBlt(0, 0, rc.Width(), rc.Height(),&memDC,0,0,SRCCOPY);
	ASSERT(b);

	memDC.SelectObject(pOldBmp);
}
Exemple #7
0
//////////////////////////////////////////////////////////////////////////
// 绘制(注意一定要用的是虚函数那个DrawItem哦~)
void CAnimateButton::DrawItem(LPDRAWITEMSTRUCT lpDIS) 
{
	// TODO: Add your code to draw the specified item
	CDC* pDC = CDC::FromHandle(lpDIS->hDC);
	pDC->SetBkMode(TRANSPARENT);

	CRect rcItem = lpDIS->rcItem;
	int nState = lpDIS->itemState;
	int nAction = lpDIS->itemAction;

	if(m_aniBtnState == STATE_DISABLED)
	{
		//要注意当缺少Focused的状态时,要判断好Disabled状态在图片的位置
		::TransparentBlt(pDC->m_hDC, 0, 0, m_aniBtnWidth, m_aniBtnHeight,
				m_pMemDC->m_hDC, m_aniBtnWidth * 3, 
				0,  m_aniBtnWidth, m_aniBtnHeight, m_clrTrans);
	} else if(m_aniBtnState != STATE_HOVERED)	//正常状态
	{
		::TransparentBlt(pDC->m_hDC, 0, 0, m_aniBtnWidth, m_aniBtnHeight,
 				 m_pMemDC->m_hDC, 0, 0, 
				 m_aniBtnWidth, m_aniBtnHeight, m_clrTrans);
	}

	//绘制文字(仅在图像外面时)
	if(!m_strBtnText.IsEmpty() && m_ato.nPosition != TXTPOS_IN)
		DrawBtnText(pDC);

	ReleaseDC(pDC);

}
void CDlgComSetting::OnPaint() 
{
	CPaintDC dc(this);
	CRect rc;
	GetClientRect(rc);
	CBitmap* pOldBmp = memDC.SelectObject(&bitmap);
	memDC.BitBlt(0,0, rc.Width(), rc.Height(), &bk_normal_dc, 0, 0, SRCCOPY);

	CString str;
	CRect Rect;
	enBtnState state;

	for(int i=0;i<BTN_COUNT;i++)
	{
		//绘制背景
		str = m_Item[i].chChar;
		Rect = m_Item[i].rect;
		state = m_Item[i].nState;
		DrawItems(&memDC,Rect,state);
		DrawBtnText(&memDC,Rect,str,CGDICommon::Instance()->bigfont(),
			RGB(255,255,255),DT_VCENTER|DT_CENTER);
	}

	str = _T("IC卡串口:");
	Rect = m_Item[0].rect;
	Rect.left = 40;
	DrawBtnText(&memDC,Rect,str,CGDICommon::Instance()->bigfont(),
		RGB(255,255,255),DT_VCENTER|DT_LEFT);
	str = _T("条形码扫描串口:");
	Rect = m_Item[3].rect;
	Rect.left = 40;
	DrawBtnText(&memDC,Rect,str,CGDICommon::Instance()->bigfont(),
		RGB(255,255,255),DT_VCENTER|DT_LEFT);
	str = _T("RFID串口:");
	Rect = m_Item[6].rect;
	Rect.left = 40;
	DrawBtnText(&memDC,Rect,str,CGDICommon::Instance()->bigfont(),
		RGB(255,255,255),DT_VCENTER|DT_LEFT);

	DrawBtnText(&memDC,g_retTitile,m_csTitile,CGDICommon::Instance()->bigbigfont(),
		RGB(255,255,255),DT_VCENTER|DT_CENTER);

	BOOL b = dc.BitBlt(0, 0, rc.Width(), rc.Height(),&memDC,0,0,SRCCOPY);
	ASSERT(b);

	memDC.SelectObject(pOldBmp);	
}
Exemple #9
0
void CPhoneLog::OnPaint() 
{
	CPaintDC dc(this);
	CRect rc;
	GetClientRect(rc);
	CBitmap* pOldBmp = memDC.SelectObject(&bitmap);
	memDC.BitBlt(0,0, rc.Width(), rc.Height(), &bk_normal_dc, 0, 0, SRCCOPY);

	CString str;
	CRect Rect;
	enBtnState state;

	for(int i=0;i<12;i++)
	{
		//绘制背景
		str = m_Item[i].chChar;
		Rect = m_Item[i].rect;
		state = m_Item[i].nState;
		DrawItems(&memDC,Rect,state);
	}

	CRect temprect;
	for(int j=0; j<5; j++)
	{
		temprect		= m_Item[j].rect;
		temprect.left	+= 20;
		DrawBtnText(&memDC,temprect,ItemStr[j],CGDICommon::Instance()->smallfont(),
			RGB(255,255,255),DT_LEFT | DT_VCENTER);

		temprect.left	+= 265;
		DrawBtnText(&memDC,temprect,m_strTime[j],CGDICommon::Instance()->smallfont(),
			RGB(255,255,255),DT_LEFT | DT_VCENTER);
	}

	DrawBtnText(&memDC,g_retTitile,m_stTitle,CGDICommon::Instance()->bigbigfont(),
		RGB(255,255,255),DT_CENTER | DT_VCENTER);
	BOOL b = dc.BitBlt(0, 0, rc.Width(), rc.Height(),&memDC,0,0,SRCCOPY);
	ASSERT(b);

	memDC.SelectObject(pOldBmp);
}
Exemple #10
0
void CBfDrawButton::DrawButton(Color OutR, Color UpBegin, Color UpEnd, Color DownBegin, Color DownEnd, Color BRColor, Color SRColor, COLORREF PtColor)
{
	CRect WndRect = m_WndRect;
	// 填充背景色
	SolidBrush FillBrush(Color(255, 255, 255));
	m_pDoGrap->FillRectangle(&FillBrush, WndRect.left, WndRect.top, WndRect.Width(), WndRect.Height());

	// 按钮外圈
	Pen OutLine(OutR);
	CRect OutRect(WndRect);
	OutRect.right--;
	OutRect.bottom--;
	RectF GRt = CUiMethod::CRect2RectF(OutRect);
	m_pDoGrap->DrawRectangle(&OutLine, GRt);

	// 上半部分高光
	CRect UpHRect(WndRect);
	UpHRect.left += 2;
	UpHRect.top += 2;
	UpHRect.right -= 2;
	UpHRect.bottom = (WndRect.Height() / 2) + WndRect.top;
	Point Pt1 = Point(UpHRect.left, UpHRect.top - 1), Pt2 = Point(UpHRect.left, UpHRect.bottom);
	LinearGradientBrush lgBrush1(Pt1, Pt2, UpBegin, UpEnd);
	m_pDoGrap->FillRectangle(&lgBrush1, UpHRect.left, UpHRect.top, UpHRect.Width(), UpHRect.Height());

	// 下半部分高光
	CRect DownHRect(WndRect);
	DownHRect.top = UpHRect.bottom;
	DownHRect.left += 2;
	DownHRect.right -= 2;
	DownHRect.bottom -= 2;
	Pt1 = Point(DownHRect.left, DownHRect.top - 1);
	Pt2 = Point(DownHRect.left, DownHRect.bottom);
	LinearGradientBrush lgBrush2(Pt1, Pt2, DownBegin, DownEnd);
	m_pDoGrap->FillRectangle(&lgBrush2, DownHRect.left, DownHRect.top, DownHRect.Width(), DownHRect.Height());

	// 四角高光
	Draw4Corner(BRColor, SRColor, PtColor);

	// 画焦点
	DrawFocus();

	// 文字
	DrawBtnText();
}
Exemple #11
0
void CDlgAnswerList::DrawList(CDC* pmemDC)
{
	/*
	CString str;
	//计算最大页数
	int nMaxPage;
	if ( g_pSMSCenter->GetRecordCount() > 0 )
		nMaxPage = ( g_pSMSCenter->GetRecordCount() - 1 ) / elist_count + 1;
	else
		nMaxPage = 1;

	if ( m_nCurPage > nMaxPage ) 
		return;

	int nStartIdx =  ( m_nCurPage - 1 ) * elist_count;
	
	for( int i = 0; i < elist_count; i++ )
	{
		if ( nStartIdx+i >= g_pSMSCenter->GetRecordCount() )
			break;
		st_SMSCenter* pSMS = g_pSMSCenter->GetRecord( nStartIdx + i );
		if ( pSMS )
		{
			DrawItems( pmemDC, m_list[i].rect, m_list[i].nState);
			//内容
			str = pSMS->m_Text.m_infoContext;
			str = "  " + str;
			DrawBtnText( pmemDC, m_list[i].rect, str, 
				CGDICommon::Instance()->smallfont(), RGB(255,255,255),DT_VCENTER|DT_LEFT);
		}
	}*/
	int i = 0;
	CString str;
	for( i = 0; i < elist_count; i++ )
	{
		str = _T("  ") + m_list[i].chChar;
		DrawBtnText( pmemDC, m_list[i].rect, str, 
			CGDICommon::Instance()->smallfont(), RGB(255,255,255),DT_VCENTER|DT_LEFT);
	}
}
Exemple #12
0
void CAnimateButton::SetBtnText(LPCTSTR lpszString, AnibtnTextOpinion ato)
{
	m_strBtnText = lpszString;
	m_ato = ato;

// 		if(m_pLogfont)
// 			delete m_pLogfont;
//
// 		m_pLogfont = new LOGFONT;
// 		m_ato.pFont->GetLogFont(m_pLogfont);
// 		TRACE("m_ato: font-size: %d\n", m_pLogfont->lfHeight);
// 		
// 		if(m_pFontTxt)
// 			delete m_pFontTxt;
// 		m_pFontTxt = new CFont;
// 		m_pFontTxt->CreatePointFontIndirect(m_pLogfont);	//用错函数了
// 		m_ato.pFont = m_pFontTxt;

//字体 - 写到前面便于后面计算下方、右方文字框大小
	if(m_fontTxt.GetSafeHandle())
		m_fontTxt.DeleteObject();

	if(ato.pLf)
		m_fontTxt.CreateFontIndirect(ato.pLf);	
	else
	{
		LOGFONT lf;
		m_pMemDC->GetCurrentFont()->GetLogFont(&lf); 
		lf.lfCharSet = DEFAULT_CHARSET; 
		lf.lfHeight = 0; 
		lf.lfWidth = 0; 
		strcpy(lf.lfFaceName,"微软雅黑"); 
		
		m_fontTxt.CreateFontIndirect(&lf);
	}// if ato.pFont
	


	if(m_ato.nPosition == TXTPOS_IN)
		DrawBtnText(m_pMemDC);
	else
	{
		m_pMemDC->SelectObject(m_fontTxt);

	//通过当前字体来计算字在按钮外面时,按钮区域(图像与文字)、按钮大小
		CRgn RgnWnd, RgnText;
		RgnWnd.CreateRectRgn(0, 0, m_aniBtnWidth, m_aniBtnHeight);

		TEXTMETRIC tm;
		m_pMemDC->GetTextMetrics(&tm);

		BOOL bIsUnderline = FALSE;
		if(ato.pLf)
			bIsUnderline = ato.pLf->lfUnderline;

		int nLength = m_strBtnText.GetLength();
		int nBoxWidth  = (int)tm.tmAveCharWidth * nLength + 2,
			nBoxHeight = (int)tm.tmHeight + (bIsUnderline ? 10 : 1);
		
		int nLeft, nTop;
		switch(ato.nPosition)
		{
		case TXTPOS_DOWN:
			nLeft = (m_aniBtnWidth - nBoxWidth) / 2;
			nTop = m_aniBtnHeight + ato.nDistance;
			//调整按钮大小
			SetWindowPos(NULL, 0, 0, m_aniBtnWidth, m_aniBtnHeight + m_ato.nDistance 
				+ nBoxHeight, SWP_NOMOVE);
			break;

		case TXTPOS_RIGHT:
			nLeft = m_aniBtnWidth + m_ato.nDistance;
			nTop = (m_aniBtnHeight - nBoxHeight) / 2; 
			//调整按钮大小
			SetWindowPos(NULL, 0, 0, m_aniBtnWidth + m_ato.nDistance + nBoxWidth,
				m_aniBtnHeight, SWP_NOMOVE);
			break;
		}// switch
		
		m_rcTextBox.SetRect(nLeft, nTop, nLeft + nBoxWidth, nTop + nBoxHeight);
		RgnText.CreateRectRgnIndirect(&m_rcTextBox);
		RgnWnd.CombineRgn(&RgnWnd, &RgnText, RGN_OR);
		SetWindowRgn(HRGN(RgnWnd), FALSE);
	}
}