我在一个单文档程序里面写了很多个加载位图的语句,我觉得比较麻烦,将图像初始化其封装成一个函数,
但是封装之后,运行了就无法显示加载的图像了,不知道是什么原因,是不是我函数哪里写错了?
封装前是完全正常的。
由于代码比较多,我复制那段初始化的代码。注释的是原来的代码,没注释的封装之后的代码,整个程序唯一不同的就是这两个位置:
        ////grid初始化
//gridCdc.CreateCompatibleDC(NULL);
//gridCBitmap.LoadBitmap(310);
//gridCdc.SelectObject(&gridCBitmap);
////grid2初始化
//gridCdc2.CreateCompatibleDC(NULL);
//gridCBitmap2.LoadBitmap(IDB_BITMAP6);
//gridCdc2.SelectObject(&gridCBitmap2);
////monster初始化
//monsterCdc.CreateCompatibleDC(NULL);
//monsterCBitmap.LoadBitmap(IDB_BITMAP3);
//monsterCdc.SelectObject(&monsterCBitmap);
////monster2初始化
//monsterCdc2.CreateCompatibleDC(NULL);
//monsterCBitmap2.LoadBitmap(IDB_BITMAP7);
//monsterCdc2.SelectObject(&monsterCBitmap2);
ImageInit(&gridCdc,&gridCBitmap,IDB_BITMAP1);
ImageInit(&gridCdc2,&gridCBitmap2,IDB_BITMAP6);
ImageInit(&monsterCdc,&monsterCBitmap,IDB_BITMAP3);
ImageInit(&monsterCdc2,&monsterCBitmap2,IDB_BITMAP7);我封装的函数:
void CChildView::ImageInit(CDC * ImageCDC,CBitmap * ImageCBitmap,int  i)
{
ImageCDC->CreateCompatibleDC(NULL);
ImageCBitmap->LoadBitmap(i);
ImageCDC->SelectObject(&ImageCBitmap);
}