我在一个单文档程序里面写了很多个加载位图的语句,我觉得比较麻烦,将图像初始化其封装成一个函数,
但是封装之后,运行了就无法显示加载的图像了,不知道是什么原因,是不是我函数哪里写错了?
封装前是完全正常的。
由于代码比较多,我复制那段初始化的代码。注释的是原来的代码,没注释的封装之后的代码,整个程序唯一不同的就是这两个位置:
////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);
}
但是封装之后,运行了就无法显示加载的图像了,不知道是什么原因,是不是我函数哪里写错了?
封装前是完全正常的。
由于代码比较多,我复制那段初始化的代码。注释的是原来的代码,没注释的封装之后的代码,整个程序唯一不同的就是这两个位置:
////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);
}
解决方案 »
- 求一个工作中遇到的难题 曲线的问题
- 请问下个sendmessage操作 列表Report 的样式. 方法.
- 最简单的鼠标钩子,屏蔽右键。
- 一个关于ado的问题,顶着有分,江湖告急
- 我用CSDN文档中的netBios方法取Mac地址失败,请达人进来指出错误~~~~~~
- 请给出一个比较通用的树遍历算法(针对MFC的CTreeCtrl即可)!
- COM本质论(essential com)一书的源码和相关工具在哪儿可以下载,拜托,我找了几天了!
- 外面貌似下起了很大的雨
- 又显access violation 问题请大侠们看看
- 如何设置timer?
- GetAdaptersAddresses能否获取子网掩码等信息?
- 代码注入器怎么动态生成内嵌汇编
取指针的地址?ImageCDC->SelectObject(ImageCBitmap);
有问题啊,这变成取指针的地址了。应该
ImageCDC->SelectObject(ImageCBitmap);