Partager via


Test d’accès avec une région

L’objectif du test de positionnement est de déterminer si le curseur se trouve sur un objet donné, tel qu’une icône ou un bouton. L’exemple suivant crée une région en forme de plus en formant l’union de deux régions rectangulaires. Supposons que le point de variable contient l’emplacement du clic le plus récent. Le code vérifie si le point se trouve dans la région en forme de plus. Si le point se trouve dans la région (un accès), la région est remplie d’un pinceau rouge opaque. Sinon, la région est remplie d’un pinceau rouge semi-transparent.

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(&region2);
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, &region1);