CBitmap* pbmpOld=memDC.SelectObject(&bmpDraw) ; CBitmap* pbmpOld=memDC.SelectObject(&bmpDraw) ;//保存原有DDB,并选入新DDB入DC我想问下“它后面是将新的选入DC,然后又赋给pbmpOld,那它又是如何保存原有的呢?”,希望大家帮帮忙。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 “它后面是将新的选入DC,然后又赋给pbmpOld,那它又是如何保存原有的呢?”=====================你还是看一下MSDN,对SelectObject这个函数的返回值仔细看一下吧。这个函数将bmpDraw选入DC,返回DC中原来的位图句柄,也就是旧位图句柄。 SelectObject()函数有两种,一种是返回原位图对象的指针CBitmap* SelectObject( CBitmap* pBitmap );还有一种是,返回的是原位图的句柄HGDIOBJ SelectObject( HDC hdc, // handle to device context HGDIOBJ hgdiobj // handle to object);也就是在新的位图选入内存DC之后,会返回一个原位图的对象指针最终将位图拷贝到上下文设备环境之后,通过memDC.SelectObject(pOldBmp)将原位图选入DC SelectObject()函数有两种,==========一个是API,一个是MFC中CDC类的成员函数 语音的相似度的识别与分析? WSAConnect和WSAAccept的问题 请问大侠们这是什么原因 用0fstream打开文件的问题 高手请进,坐标映射后怎么显示汉字 ListCtrl在大图标模式下,为什么所有图标都显示在一下之内? 使用CreateToolhelp32Snapshot却陷入死循环,求助 ATL问题:VB调用问题??? 求:C语言编程 菜鸟级 急、、、谢谢啦 我想给很多分的 可是不能给 急!急!急!请高手帮助! 单步执行可以成功,但直接运行程序却不成功 请教一个IOCP资源回收的问题
=====================
你还是看一下MSDN,对SelectObject这个函数的返回值仔细看一下吧。
这个函数将bmpDraw选入DC,返回DC中原来的位图句柄,也就是旧位图句柄。
CBitmap* SelectObject( CBitmap* pBitmap );
还有一种是,返回的是原位图的句柄
HGDIOBJ SelectObject(
HDC hdc, // handle to device context
HGDIOBJ hgdiobj // handle to object
);
也就是在新的位图选入内存DC之后,会返回一个原位图的对象指针
最终将位图拷贝到上下文设备环境之后,
通过memDC.SelectObject(pOldBmp)将原位图选入DC
==========
一个是API,一个是MFC中CDC类的成员函数