太悲催了,之前因为这个问题卡了一天,今天又卡了一个下午,上次解决的时候也不知道到底是怎么解决的,糊里糊涂就弄好了,于是欢喜快乐地去吃饭了,这次又是同样的问题,结果又浪费了时间,以后有问题还是要自己好好研究清楚才好。
我要做的是,让一个DC获得了一个位图,然后另外一个DC从中截取某一小块,作为自己的图片,请各位看官看如下代码:
CDC bkDC;
bkDC.CreateCompatibleDC (NULL);
CDC picDC;
picDC.CreateCompatibleDC(NULL);
CBitmap keyBmp;
bkDC.SelectObject(bkBmp); //这里的bkBmp是指向一个已经存好的图片
//在背景图中根据矩形框进行截图,存入keyBmp中
keyBmp.CreateCompatibleBitmap(&picDC,100,100);
picDC.SelectObject(&keyBmp);
picDC.BitBlt(0,0,100,100,&bkDC,0,0,SRCCOPY);
运行代码之后,如果显示一下,就会发现,是黑的!它是黑的!黑的!截图是黑色的!也就是说BitBle根本没有起作用,没有复制!
为什么呢?。。。。。。。。。。。。。我也不知道啊!!!!
参考了百度百科的双缓冲技术绘图(http://baike.baidu.c