// Cgame123View 绘制 void Cgame123View::OnDraw(CDC* pDC){Cgame123Doc* pDoc = GetDocument();ASSERT_VALID(pDoc);if (!pDoc)return; // TODO: 在此处为本机数据添加绘制代码CRect Rect; GetClientRect(&Rect);//屏幕宽度width = Rect.right - Rect.left;//屏幕高度height = Rect.bottom - Rect.top; CDC Dc;if (Dc.CreateCompatibleDC(pDC) == FALSE)MessageBox(_T("Can't create DC"));//在不同位置显示位图Dc.SelectObject(backmap);//显示两张位图使它们连接pDC->BitBlt((width - 800) / 2, 0, 800, height, &Dc, 0, goup - 2000, SRCCOPY);pDC->BitBlt((width - 800) / 2, 0, 800, height, &Dc, 0, goup, SRCCOPY); //显示位图CDC dccompatible;if (dccompatible.CreateCompatibleDC(pDC) == FALSE)MessageBox(_T("Can't create DC"));dccompatible.SelectObject(plane); //第一二个参数为位置开始出(左上角),第三四个参数为设备的ymdmht,第六七个参数为切pDC->BitBlt(10, -45, m_bm.bmWidth, m_bm.bmHeight, &dccompatible, 0, 0, SRCCOPY);pDC->BitBlt(10, height-20, m_bm.bmWidth, m_bm.bmHeight, &dccompatible, 0, 0, SRCCOPY);pDC->BitBlt(10, 200, m_bm.bmWidth, m_bm.bmHeight, &dccompatible, -10, 0, SRCCOPY);pDC->BitBlt(10, 250, m_bm.bmWidth, m_bm.bmHeight, &dccompatible, 10, 0, SRCCOPY);pDC->BitBlt(10, 300, m_bm.bmWidth, m_bm.bmHeight, &dccompatible, 0, 0, SRCCOPY); pDC->BitBlt(10, 350, m_bm.bmWidth, m_bm.bmHeight, &dccompatible, 0, -10, SRCCOPY);pDC->BitBlt(10, 400, m_bm.bmWidth, m_bm.bmHeight, &dccompatible, 0, 10, SRCCOPY);pDC->BitBlt(10, 450, m_bm.bmWidth, m_bm.bmHeight, &dccompatible, 0, 0, SRCCOPY); //正切上,负切下,下上高度为heightpDC->BitBlt(80, 0, m_bm.bmWidth, m_bm.bmHeight, &dccompatible, 0, 20, SRCCOPY);pDC->BitBlt(140, 0, m_bm.bmWidth, m_bm.bmHeight, &dccompatible, 0, -20, SRCCOPY); //正切上,负切下,下上高度为height,又一架完整的飞机pDC->BitBlt(200, 50, m_bm.bmWidth, m_bm.bmHeight, &dccompatible, 0, 20, SRCCOPY);pDC->BitBlt(200, 0, m_bm.bmWidth, m_bm.bmHeight, &dccompatible, 0, -30, SRCCOPY); CClientDC dc(this);} BitBlt 设备上下文绘图有很多种方法。例如通过创建位图画刷,利用其填充一个区域来实现图像的绘制。此外,还可以使用CDC类的位图函数来输出位图到设备上下文中。 BitBlt 用于从原设备中复制位图到目标设备,语法格式如下: BOOLBitBlt(int x,int y,int nWidth,int nHeight,CDC*pSrcDC,int xSrc,int ySrc,DWORDdwRop); x:目标矩形区域的左上角x轴坐标点。 y:目标矩形区域的左上角y轴坐标点。 nWidth:在目标设备中绘制位图的宽度。 nHight:在目标设备中绘制位图的高度。 pSrcDC:源设备上下文对象指针。 xSrc:源设备上下文的起点x轴坐标,函数从该起点复制位图到目标设备。 ySrc:源设备上下文的起点y轴坐标,函数从该起点复制位图到目标设备。 dwRop:光栅操作代码dwRop有如下选择: BLACKNESS 使用黑色填充目标区域 DSTINVERT 目标矩阵区域颜色取反 MERGECOPY 使用与运算组合原设备矩形区域的颜色和目标设备的画刷 MERGEPAINT 使用或运算将反向的源矩形区域的颜色和目标矩形区域的颜色合并 NOTSRCCOPY 复制源设备区域的反色到目标设备中 NOTSRCERASE 使用或运算组合源设备区域与目标设备区域的颜色,然后对结果颜色取反 PATCOPY 复制源设备当前选中的画刷到目标设备 PATINVERT 使用异或运算组合目标设备选中的画刷和目标设备区域的颜色 PATPAINT 通过或运算组合目标区域当前选中的画刷和源设备区域反转的颜色 SRCAND 使用与运算组合源设备和目标设备区域的颜色 SRCCOPY 直接复制源设备区域到目标设备中 SRCERASE 使用与运算组合目标设备区域的反色与源设备区域的颜色 SRCINVERT 使用异或运算组合源设备区域颜色和目标设备区域颜色 SRCPAINT 使用或运算组合源设备区域颜色和目标设备区域颜色 WHITENESS 使用白色填充目标区域