//位置变化 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; }
//设置顺序 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); }