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。

请参阅:
CGdiObject::DeleteObject, CGdiObject::FromHandle, CDC::SelectClipRgn, CDC::SelectPalette, ::SelectObject