Pruebas de posicionamiento con una región
El propósito de las pruebas de posicionamiento consiste en determinar si el cursor se encuentra sobre un objeto determinado, como un icono o un botón. En el ejemplo siguiente se crea una región con forma de más mediante la unión de dos regiones rectangulares. Supongamos que el punto de variable contiene la ubicación del clic más reciente. El código comprueba si el punto está en la región con forma más. Si el punto está en la región (un acierto), la región se rellena con un pincel rojo opaco. De lo contrario, la región se rellena con un pincel rojo semitransparente.
Point point(60, 10);
// Assume that the variable "point" contains the location
// of the most recent click.
// To simulate a hit, assign (60, 10) to point.
// To simulate a miss, assign (0, 0) to point.
SolidBrush solidBrush(Color());
Region region1(Rect(50, 0, 50, 150));
Region region2(Rect(0, 50, 150, 50));
// Create a plus-shaped region by forming the union of region1 and region2.
// The union replaces region1.
region1.Union(®ion2);
if(region1.IsVisible(point, &graphics))
{
// The point is in the region. Use an opaque brush.
solidBrush.SetColor(Color(255, 255, 0, 0));
}
else
{
// The point is not in the region. Use a semitransparent brush.
solidBrush.SetColor(Color(64, 255, 0, 0));
}
graphics.FillRegion(&solidBrush, ®ion1);