Compartir a través de


Seleccionar un objeto gráfico en un contexto de dispositivo

En este tema se aplica al uso de objetos gráficos en el contexto del dispositivo de una ventana. Después de que se cree un objeto de dibujo, debe seleccionarlo en el contexto de dispositivo en lugar del objeto predeterminado almacenado allí:

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
    }
}

Duración de objetos gráficos

El objeto gráfico devuelto por SelectObject es “temporal”. Es decir, se eliminará por la función miembro de OnIdle de la clase CWinApp la próxima vez que el programa obtiene tiempos de inactividad. Mientras utiliza el objeto devuelto por SelectObject en una sola función sin devolver el control al bucle principal, no tendrá ningún problema.

¿Sobre qué desea obtener más información?

Vea también

Conceptos

Objetos gráficos