Share via


Teste de clique com uma região

A finalidade do teste de clique é determinar se o cursor está sobre um determinado objeto, como um ícone ou um botão. O exemplo a seguir cria uma região em forma de adição formando a união de duas regiões retangulares. Suponha que o ponto de variável contenha o local do clique mais recente. O código verifica se o ponto está na região em forma de adição. Se o ponto estiver na região (um impacto), a região será preenchida com um pincel vermelho opaco. Caso contrário, a região será preenchida com um pincel vermelho 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(&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);