选择图形对象到设备上下文中
本主题适用于使用图形对象在窗口的设备上下文。在 创建一个图形对象。,必须选择到设备上下文中存储的默认对象位置存在如下:
void CNewView::OnDraw(CDC* pDC)
{
CPen penBlack; // Construct it, then initialize
if(penBlack.CreatePen(PS_SOLID, 2, RGB(0,0,0)))
{
// Select it into the device context
// Save the old pen at the same time
CPen* pOldPen = pDC->SelectObject(&penBlack);
// Draw with the pen
pDC->MoveTo(20,20);
pDC->LineTo(40,40);
// Restore the old pen to the device context
pDC->SelectObject(pOldPen);
}
else
{
// Alert the user that resources are low
}
}
生存期图形对象
SelectObject 返回的图形对象是 “临时文件”。也就是说,下次程序获取空闲时,将由类删除 CWinApp 的 OnIdle 成员函数。只要您在一个函数使用 SelectObject 返回的对象,而无需将控制权返回给主消息循环,则不会有问题。