Пример #1
0
//绘画消息
void CGameFrameControl::OnPaint()
{
	CPaintDC dc(this);

	//绘画背景
	//DrawLeftViewFrame(&dc);

	CRect rcClient;
	GetClientRect(&rcClient);

	CImageHandle HandleTitleL(&m_ImageTitle1);
	CImageHandle HandleTitleM(&m_ImageTitle2);
	CImageHandle HandleTitleR(&m_ImageTitle3);

	CRect rcChat;
	rcChat.left=0;
	rcChat.right=rcClient.Width();
	rcChat.top=0;
	rcChat.bottom=rcClient.Height();
    
	m_ImageTitle1.BitBlt(dc,rcChat.left,rcChat.top);
    
   for(INT nXPos=rcChat.top+m_ImageTitle1.GetHeight();nXPos<rcClient.bottom-m_ImageTitle3.GetHeight();nXPos+=m_ImageTitle2.GetHeight())
	{
	
		m_ImageTitle2.BitBlt(dc,rcChat.left,nXPos);
		
	}
	m_ImageTitle3.BitBlt(dc,rcChat.left,rcClient.bottom-m_ImageTitle3.GetHeight());

	return;
}
Пример #2
0
//绘画背景
BOOL CServerItmOpaint::OnEraseBkgnd(CDC * pDC)
{
	//获取位置
	CRect rcClient;
	GetClientRect(&rcClient);

	//建立缓冲
	CImage ImageBuffer;
	ImageBuffer.Create(rcClient.Width(),rcClient.Height(),24);

	//创建 DC
	CDC BufferDC;
	BufferDC.CreateCompatibleDC(pDC);
	BufferDC.SelectObject(ImageBuffer);

	//加载资源
	CImageHandle HandleTitleL(&m_ImageTitleL);
	CImageHandle HandleTitleM(&m_ImageTitleM);
	CImageHandle HandleTitleR(&m_ImageTitleR);

	//绘画背景
	//m_ImageTitleL.BitBlt(BufferDC,0,0);

	//填充中间
	for (INT nXPos=0;nXPos<rcClient.Height()-m_ImageTitleR.GetHeight();nXPos+=m_ImageTitleM.GetHeight())
	{
		m_ImageTitleM.BitBlt(BufferDC,0,nXPos);
	}
	//绘画背景
	m_ImageTitleR.BitBlt(BufferDC,0,rcClient.Height()-m_ImageTitleR.GetHeight());
    
	//设置 DC
	BufferDC.SetTextColor(CR_TEXT);
	BufferDC.SetBkMode(TRANSPARENT);
	BufferDC.SelectObject(CSkinResourceManager::GetDefaultFont());

	//用户信息
	if (m_bShowInfo==true)
	{
		//变量定义
		tagGlobalUserData & GlobalUserInfo=g_GlobalUnits.GetGolbalUserData();

		//用户头像
		g_GlobalUnits.m_UserFaceRes->DrawNormalFace(&BufferDC,10,12,GlobalUserInfo.cbGender,GlobalUserInfo.dwUserID,GlobalUserInfo.dwCustomFaceVer,32,32);

		//构造位置
		TCHAR szBuffer[255]=TEXT("");
		CRect rcAccounts(50,15,rcClient.Width()-20,27);
		CRect rcUnderWrite(50,32,rcClient.Width()-20,44);

		//用户帐号
		_sntprintf(szBuffer,CountArray(szBuffer),TEXT("用户帐号:%s [ %ld ]"),GlobalUserInfo.szAccounts,GlobalUserInfo.dwGameID);
		BufferDC.DrawText(szBuffer,lstrlen(szBuffer),&rcAccounts,DT_VCENTER|DT_WORD_ELLIPSIS|DT_SINGLELINE);

		//会员信息
		LPCTSTR pszMemberOrder[]={TEXT("非会员"),TEXT("红钻会员"),TEXT("蓝钻会员"),TEXT("黄钻会员"),TEXT("紫钻会员")};
		if (GlobalUserInfo.cbMember<CountArray(pszMemberOrder))
		{
			_sntprintf(szBuffer,CountArray(szBuffer),TEXT("会员等级:%s"),pszMemberOrder[GlobalUserInfo.cbMember]);
			BufferDC.DrawText(szBuffer,lstrlen(szBuffer),&rcUnderWrite,DT_VCENTER|DT_WORD_ELLIPSIS|DT_SINGLELINE);
		}
	}
    //绘画界面
	pDC->BitBlt(0,0,rcClient.Width(),rcClient.Height(),&BufferDC,0,0,SRCCOPY);

	//清理资源
	BufferDC.DeleteDC();
	ImageBuffer.Destroy();

	return TRUE;
}
Пример #3
0
//绘画背景
BOOL CUserInfoView::OnEraseBkgnd(CDC * pDC)
{
	//获取位置
	CRect rcClient;
	GetClientRect(&rcClient);

	//建立缓冲
	CImage ImageBuffer;
	ImageBuffer.Create(rcClient.Width(),rcClient.Height(),24);

	//创建 DC
	CDC BufferDC;
	BufferDC.CreateCompatibleDC(pDC);
	BufferDC.SelectObject(ImageBuffer);

	//加载资源
	CImageHandle HandleTitleL(&m_ImageTitleL);
	CImageHandle HandleTitleM(&m_ImageTitleM);
	CImageHandle HandleTitleR(&m_ImageTitleR);

	//绘画背景
	m_ImageTitleL.BitBlt(BufferDC,0,0);

	//填充中间
	for (INT nXPos=m_ImageTitleL.GetWidth();nXPos<rcClient.Width();nXPos+=m_ImageTitleM.GetWidth())
	{
		m_ImageTitleM.BitBlt(BufferDC,nXPos,0);
	}

	//绘画背景
	m_ImageTitleR.BitBlt(BufferDC,rcClient.Width()-m_ImageTitleR.GetWidth(),0);

	//设置 DC
	BufferDC.SetTextColor(CR_TEXT);
	BufferDC.SetBkMode(TRANSPARENT);
	BufferDC.SelectObject(&CSkinAttribute::m_DefaultFont);

	//用户信息
	if (m_bShowInfo==true)
	{
		//变量定义
		tagGlobalUserData & GlobalUserInfo=g_GlobalUnits.GetGolbalUserData();

		//用户头像
		g_GlobalUnits.m_UserFaceRes->DrawNormalFace(&BufferDC,9,8,GlobalUserInfo.wFaceID);

		//构造位置
		TCHAR szBuffer[128]=TEXT("");
		CRect rcAccounts(50,11,rcClient.Width()-20,23);
		CRect rcUnderWrite(50,28,rcClient.Width()-20,40);

		//用户帐号
		_sntprintf(szBuffer,CountArray(szBuffer),TEXT("用户帐号:%s [ %ld ]"),GlobalUserInfo.szAccounts,GlobalUserInfo.dwGameID);
		BufferDC.DrawText(szBuffer,lstrlen(szBuffer),&rcAccounts,DT_VCENTER|DT_WORD_ELLIPSIS|DT_SINGLELINE);

		//个性签名
		_sntprintf(szBuffer,CountArray(szBuffer),TEXT("个性签名:%s"),GlobalUserInfo.szUnderWrite);
		BufferDC.DrawText(szBuffer,lstrlen(szBuffer),&rcUnderWrite,DT_VCENTER|DT_WORD_ELLIPSIS|DT_SINGLELINE);
	}

	//绘画界面
	pDC->BitBlt(0,0,rcClient.Width(),rcClient.Height(),&BufferDC,0,0,SRCCOPY);

	//清理资源
	BufferDC.DeleteDC();
	ImageBuffer.Destroy();

	return TRUE;
}