Я рисую некоторые символы, которые принадлежат определенным объектам, в контексте устройства и теперь хочу иметь возможность позже проверить, находится ли курсор мыши над таким символом.
Для этого я планировал сначала создать путь CDC
и использовать его для создания CRgn
объекта региона.
pDC->BeginPath();
pDC->Ellipse(ellipse[0], ellipse[1], ellipse[2], ellipse[3]); // Create path only
pDC->EndPath();
// Actually draw the ellipse
pDC->StrokeAndFillPath(); // Apparently removes the path from the DC
CRgn region;
if (region.CreateFromPath(pDC)) // Would also remove the path from the DC
{
// We never get here :-/
// Here I would copy the region's data,
// attach it to the object being drawn and
// destroy the region.
// That way I can create a region later on and do the hit-testing.
}
Как я могу использовать путь для рисования и создания области без необходимости рисовать дважды? Рисование вдвое в значительной степени удваивает время, затрачиваемое на мой метод рисования, чего я бы хотел избежать.