vc+6.0中MFC的BitBlt()怎么用,我想复制一个棋子到另外一个位置,并将之前的删除,调用后没反应,为什么啊
局部代码CClientDCdc(this);intcolor1;CBitmapbitmap2;color1=(Array[w][v]-1);switch(color1){...
局部代码
CClientDC dc(this);
int color1;
CBitmap bitmap2;
color1=(Array[w][v]-1);
switch(color1)
{
case 0:bitmap2.LoadBitmap(IDB_BITMAP1);break;
case 1:bitmap2.LoadBitmap(IDB_BITMAP2);break;
case 2:bitmap2.LoadBitmap(IDB_BITMAP3);break;
case 3:bitmap2.LoadBitmap(IDB_BITMAP4);break;
case 4:bitmap2.LoadBitmap(IDB_BITMAP5);break;
case 5:bitmap2.LoadBitmap(IDB_BITMAP6);break;
}
CDC dcCompatible;
dcCompatible.CreateCompatibleDC(&dc);
dcCompatible.SelectObject(&bitmap2);
dc.BitBlt((a+1)*40,(b+1)*40,40,40,&dcCompatible,(w+1)*40,(v+1)*40,SRCCOPY);
dc.BitBlt((w+1)*40,(v+1)*40,40,40,&dcCompatible,440,440,SRCCOPY);
其中 a、b是目标位置的坐标, w、v是源图像的坐标。 运行后复制没反应
谢谢各位了啊!! 展开
CClientDC dc(this);
int color1;
CBitmap bitmap2;
color1=(Array[w][v]-1);
switch(color1)
{
case 0:bitmap2.LoadBitmap(IDB_BITMAP1);break;
case 1:bitmap2.LoadBitmap(IDB_BITMAP2);break;
case 2:bitmap2.LoadBitmap(IDB_BITMAP3);break;
case 3:bitmap2.LoadBitmap(IDB_BITMAP4);break;
case 4:bitmap2.LoadBitmap(IDB_BITMAP5);break;
case 5:bitmap2.LoadBitmap(IDB_BITMAP6);break;
}
CDC dcCompatible;
dcCompatible.CreateCompatibleDC(&dc);
dcCompatible.SelectObject(&bitmap2);
dc.BitBlt((a+1)*40,(b+1)*40,40,40,&dcCompatible,(w+1)*40,(v+1)*40,SRCCOPY);
dc.BitBlt((w+1)*40,(v+1)*40,40,40,&dcCompatible,440,440,SRCCOPY);
其中 a、b是目标位置的坐标, w、v是源图像的坐标。 运行后复制没反应
谢谢各位了啊!! 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询