Beispiel #1
0
//位置变化
void CGameParrentView::OnSize(UINT nType, int cx, int cy)
{
    __super::OnSize(nType, cx, cy);

    //效验状态
    if ((cx==0)||(cy==0)) return;
    if (GetSystemMetrics(SM_CXSCREEN)<cx) return;

    //更改缓冲图
    if ((m_bDoubleBuf==true)&&(nType!=SIZE_MINIMIZED))
    {
        if ((cx>m_ImageSize.cx)||(cy>m_ImageSize.cy))
        {
            m_bReDraw=true;
            m_ImageBuffer.Destroy();
            m_ImageSize.cx=__max(cx,m_ImageSize.cx);
            m_ImageSize.cy=__max(cy,m_ImageSize.cy);
            m_ImageBuffer.Create(m_ImageSize.cx,m_ImageSize.cy,m_uColorCount);
        }
    }

    //更新视图
    RectifyGameView(cx,cy);

    //设置绘画数据
    if (m_pThreadDraw!=NULL)
    {
        m_pThreadDraw->SetClientRange(cx,cy);
        if (nType==SIZE_MINIMIZED) m_pThreadDraw->SuspendDrawThread();
        else m_pThreadDraw->ResumeDrawThread();
    }
    else UpdateGameView(NULL);

    return;
}
Beispiel #2
0
//设置顺序
void CGameClientView::SetUserOrder(bool bDeasilOrder) {

	//状态判断
	if (m_bDeasilOrder==bDeasilOrder) return;

	//设置变量
	m_bDeasilOrder=bDeasilOrder;
	AfxGetApp()->WriteProfileInt(TEXT("GameOption"),TEXT("DeasilOrder"),m_bDeasilOrder?TRUE:FALSE);

	//设置界面
	CRect rcClient;
	GetClientRect(&rcClient);

	RectifyGameView(rcClient.Width(),rcClient.Height());

	//刷新界面
	UpdateGameView(NULL);
}