CDC::SelectObject函数
SelectObject
VB声明Declare Function SelectObject Lib "gdi32" Alias "SelectObject" (ByVal hdc As Long, ByVal hObject As Long) As Long说明每个设备场景都可能有选⼊其中的图形对象。其中包括位图、刷⼦、字体、画笔以及区域等等。⼀次选⼊设备场景的只能有⼀个对象。选定的对象会在设备场景的绘图操作中使⽤。例如,当前选定的画笔决定了在设备场景中描绘的线段颜⾊及样式返回值Long,与以前选⼊设备场景的相同hObject类型的⼀个对象的句柄,零表⽰出错。如选定的对象是⼀个区域(Region),结果就是下列常数之⼀:SIMPLEREGION, COMPLEXREGION 或 NULLREGION 对区域进⾏描述,GDI_ERROR 表⽰出错参数表参数类型及说明hdcLong,⼀个设备场景的句柄hObjectLong,⼀个画笔、位图、刷⼦、字体或区域的句柄注解
返回值通常⽤于获得选⼊DC的对象的原始值。绘图操作完成后,原始的对象通常选回设备场景。在清除⼀个设备场景前,务必注意恢复原始的对象
CDC::SelectObject
CPen* SelectObject (CPen* pPen);记住我
CBrush* SelectObject(CBrush* pBrush);
virtual CFont* SelectObject(CFont* pFont);
CBitmap* SelectObject(CBitmap* pBitmap);
int SelectObject (CRgn* pRgn);
返回值:
返回被替代的对象的指针。是由⼀个CGdiObject类派⽣出的对象的指针,如CPen ,它取决于使⽤函数的版本。如果出错,则返回NULL。函数可将返回值传递给⼀个临时对象,该对象只在处理Windows消息时有效。要了解更多的信息,请参阅CGdiObject::FromHandle 。带有区域参数的成员函数与SelectClipRgn成员函数执⾏相同的任务,其返回值可是下列之⼀:·COMPLEXREGION剪切区有覆盖的边界。·ERROR设备上下⽂⽆效。·NULLREGION新剪切区为空。·SIMPLEREGION新剪切区⽆覆盖边界。
参数:pPen被选中的CPen对象指针。pBrush被选中的CBrush对象指针。pFont被选中的CFont对象指针。pBitmap被选中的CBitmap对象指针。pRgn被选中的CRgn对象指针。
说明:
将对象选⼊设备上下⽂中。CDC类为特定类型的GDI对象提供了五种形式,包括画笔、画刷、字体、位图和区域。最新选中的对象将覆盖同类型的前⼀个对象。例如,如果SelectObject中通⽤形式的pObject指向CPen对象,函数将⽤pObject指定的画笔作为当前画笔。应⽤只能将位图选⼊内存设备上下⽂中,且⼀次只能放⼊⼀个内存设备上下⽂。位图格式必须为⿊⽩模式或与设备上下⽂兼容,否则SelectObject返回错误。对Windows 3.1及其以后版本,不论是否在元⽂件中使
⽤,SelectObject返回相同的值。对于早期版本,SelectObject在元⽂件使⽤返回值时,如果成功,则返回⾮零值;失败则返回0。