CDC::SelectStockObject 是 MFC(Microsoft Foundation Classes)中 CDC 类的一个公共方法,用于在设备上下文中选择一个标准的 GDI 对象,也称为 "stock object"。这些标准对象包括预定义的画刷、画笔、字体等,它们是在 Windows 操作系统中预先定义好的。

以下是 CDC::SelectStockObject 方法的基本语法:
CObject* SelectStockObject(
   int nIndex   // 标准 GDI 对象的索引
);

参数 nIndex 是一个整数,用于指定要选择的标准 GDI 对象的索引。可以使用预定义的常量来指定不同的对象类型,例如:

  •  WHITE_BRUSH

  •  BLACK_BRUSH

  •  LTGRAY_BRUSH

  •  GRAY_BRUSH

  •  DKGRAY_BRUSH

  •  NULL_BRUSH

  •  WHITE_PEN

  •  BLACK_PEN

  •  NULL_PEN

  •  OEM_FIXED_FONT

  •  ANSI_FIXED_FONT

  •  ANSI_VAR_FONT

  •  等等


示例代码:
CDC dc;  // 假设已经创建了 CDC 对象

// 选择白色画刷到设备上下文
CBrush* pOldBrush = (CBrush*)dc.SelectStockObject(WHITE_BRUSH);

// 在此处进行使用白色画刷的绘图操作

// 恢复原始的画刷到设备上下文
dc.SelectObject(pOldBrush);

在这个示例中,通过 SelectStockObject 方法选择了一个白色画刷到设备上下文中,然后在绘图操作完成后,通过再次调用 SelectObject 并传递原始画刷的指针,将原始的画刷重新选择到设备上下文中,从而恢复设备上下文的状态。


转载请注明出处:http://www.pingtaimeng.com/article/detail/17002/MFC/CDC