Výběr grafického objektu v kontextu zařízení
Toto téma se týká použití grafických objektů v kontextu zařízení v okně.Po je nové kresby, je nutné vybrat do kontextu zařízení namísto výchozího objektu uloženy:
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
}
}
Životnost grafické objekty
Grafický objekt vrácený funkcí VybratObjekt je "dočasné". Bude odstraněn tak, že "při nečinnosti" členské funkce třídy CWinApp při příštím spuštění programu získá nečinnosti čas.Tak dlouho, dokud používáte objekt vrácený funkcí SelectObject v jedinou funkci bez řízení předáno zpět hlavní smyčky zpráv, bude mít žádný problém.