SelectObject 选入位图的问题

来源:百度知道 编辑:UC知道 时间:2024/05/07 02:30:16
在显示一个位图时,使用的是创建一个 DC,然后使用 SelectObject 把这个位图选入这个 DC,然后在把这个 DC 的位图复制到窗口上

我的问题是,把这个位图 SelectObject 到 DC 是什么意思,完成了什么功能呢?为什么这个位图就显示到那个 DC 上了,为什么不直接使用窗口的 DC 然后 SelectObject 一下呢?

简单点说;

你可以理解DC里边有一张画布,你需要用OBJECT来画它;
在兼容DC创建后,实际上是没有画布的,你SelectObject以后,位图会当作兼容DC的画布.
然后用位块传输函数,将兼容DC中的内容连带画布(位图)一起放到窗口DC上,这样你就看到你的图片了.

举个例子,一个画板(兼容DC),一张宣纸(位图),纸(位图)贴到画板(兼容DC)上,你不可以直接在画板(兼容DC)上画东西,只能在纸(位图)上画,最后把画板(兼容DC)放到眼睛(窗口DC)面前来看.

再VC中设备就只有一个,每次你要写入或输出,都要选入设备,当然也有备用的,
再你想把位图选入的时候,
SelectObject( CBitmap* pBitmap );
你还需要定义个个位图指针,这个位图还需要加载!