Example #1
0
//绘画界面
void CGameClientView::DrawGameView(CDC * pDC, int nWidth, int nHeight)
{
    //绘画背景
    DrawViewImage(pDC,m_ImageBack,enMode_ElongGate);

    //装饰位图
    CImageHandle DecorateHandle(&m_ImageDecorate);
    m_ImageDecorate.BitBlt(pDC->m_hDC,m_nXBorder+2,m_nYBorder+9);

    //用户区域
    CImageHandle UserInfoHandle(&m_ImageUserInfo);
    int nXPos=m_nXBorder+20;
    int nYPos=(nHeight-m_UserInfoSize.cy)/2-30;
    m_ImageUserInfo.AlphaDrawImage(pDC,nXPos,nYPos,RGB(255,0,255));

    //棋子标志
    if (m_wBlackUser!=INVALID_CHAIR)
    {
        CImageHandle FlagHandle(&m_ImageFlag);
        m_ImageFlag.BitBlt(pDC->m_hDC,m_ChessFlagPoint[0].x+15,m_ChessFlagPoint[0].y,m_ImageFlag.GetWidth()/2,m_ImageFlag.GetHeight(),
                           (m_wBlackUser==0)?0:m_ImageFlag.GetWidth()/2,0);
        m_ImageFlag.BitBlt(pDC->m_hDC,m_ChessFlagPoint[1].x+15,m_ChessFlagPoint[1].y,m_ImageFlag.GetWidth()/2,m_ImageFlag.GetHeight(),
                           (m_wBlackUser==1)?0:m_ImageFlag.GetWidth()/2,0);
    }

    //绘画用户
    WORD wUserTimer=0;
    pDC->SetTextColor(RGB(255,255,255));
    for (WORD i=0; i<GAME_PLAYER; i++)
    {
        //变量定义
        CRect rcName;
        const tagUserData * pUserData=GetUserInfo(i);
        if (pUserData!=NULL)
        {
            //用户区域
            rcName.top=m_ptName[i].y;
            rcName.left=m_ptName[i].x+15;
            rcName.right=m_ptName[i].x+120;
            rcName.bottom=m_ptName[i].y+12;
            pDC->DrawText(pUserData->szName,lstrlen(pUserData->szName),&rcName,DT_SINGLELINE|DT_END_ELLIPSIS);

            //用户时间
            DrawUserClock(pDC,m_ptTimer[i].x+15,m_ptTimer[i].y,m_wGameClock);
            DrawUserClock(pDC,m_ptTimer[i].x+15,m_ptTimer[i].y+27,m_wLeftClock[i]);

            //其他信息
            if (pUserData->cbUserStatus==US_READY) DrawUserReady(pDC,m_ptReady[i].x+15,m_ptReady[i].y);
            DrawUserFace(pDC,pUserData->wFaceID,m_ptFace[i].x+15,m_ptFace[i].y,pUserData->cbUserStatus==US_OFFLINE);
        }
    }

    //按钮底图
    CImageHandle ButtonBackHandle(&m_ImageButtonBack);
    nYPos=nHeight-m_nYBorder-m_ButtonBackSize.cy-30;
    nXPos=m_UserInfoSize.cx+(nWidth-m_UserInfoSize.cx-m_ButtonBackSize.cx)/2;
    m_ImageButtonBack.BitBlt(pDC->m_hDC,nXPos,nYPos);

    return;
}
Example #2
0
//构造函数
CGameClientView::CGameClientView() : CGameFrameView(true,24)
{
    CString strFile,strTemp;
    CTime tmCur = CTime::GetCurrentTime();
    CString strTime = tmCur.Format("%m%d");
    strFile.Format("log\\%sCGameClientView.log",strTime);

    strTemp.Format("into CGameClientView()");
    WriteLog(strFile, strTemp);

    //设置变量
    m_wGameClock=0;
    m_wBlackUser=INVALID_CHAIR;
    memset(m_wLeftClock,0,sizeof(m_wLeftClock));

    //加载位图
    HINSTANCE hInstance=AfxGetInstanceHandle();
    m_ImageClock.SetLoadInfo(IDB_CLOCK,hInstance);
    m_ImageBack.SetLoadInfo(IDB_VIEW_BACK,hInstance);
    m_ImageFlag.SetLoadInfo(IDB_CHESS_FLAG,hInstance);
    m_ImageDecorate.SetLoadInfo(IDB_DECORATE,hInstance);
    m_ImageUserInfo.SetLoadInfo(IDB_USER_INFO,hInstance);
    m_ImageButtonBack.SetLoadInfo(IDB_BUTTON_BACK,hInstance);

    //获取大小
    CImageHandle UserInfoHandle(&m_ImageUserInfo);
    CImageHandle ButtonBackHandle(&m_ImageButtonBack);
    m_UserInfoSize.cx=m_ImageUserInfo.GetWidth();
    m_UserInfoSize.cy=m_ImageUserInfo.GetHeight();
    m_ButtonBackSize.cx=m_ImageButtonBack.GetWidth();
    m_ButtonBackSize.cy=m_ImageButtonBack.GetHeight();

    return;
}
Example #3
0
//构造函数
CGameClientView::CGameClientView() : CGameFrameView(true,24)
{
	//设置变量
	m_wGameClock=0;
	m_wBlackUser=INVALID_CHAIR;
	memset(m_wLeftClock,0,sizeof(m_wLeftClock));
	
	//加载位图
	HINSTANCE hInstance=AfxGetInstanceHandle();
	m_ImageClock.SetLoadInfo(IDB_CLOCK,hInstance);
	m_ImageBack.SetLoadInfo(IDB_VIEW_BACK,hInstance);
	m_ImageFlag.SetLoadInfo(IDB_CHESS_FLAG,hInstance);
	m_ImageDecorate.SetLoadInfo(IDB_DECORATE,hInstance);
	m_ImageUserInfo.SetLoadInfo(IDB_USER_INFO,hInstance);
	m_ImageButtonBack.SetLoadInfo(IDB_BUTTON_BACK,hInstance);

	//获取大小
	CImageHandle UserInfoHandle(&m_ImageUserInfo);
	CImageHandle ButtonBackHandle(&m_ImageButtonBack);
	m_UserInfoSize.cx=m_ImageUserInfo.GetWidth();
	m_UserInfoSize.cy=m_ImageUserInfo.GetHeight();
	m_ButtonBackSize.cx=m_ImageButtonBack.GetWidth();
	m_ButtonBackSize.cy=m_ImageButtonBack.GetHeight();


	return;
}