Adquirindo uma licença anual do Tecnobyte SAC Lite, Tecnobyte SAC Plus ou Tecnobyte SAC Pro até 31/12/2024, você economiza 14,69% em relação ao novo valor mensal, pois evita o reajuste e ainda mantém os 10% de desconto da anuidade.
{ Os exemplos abaixo verificam se o cursor do mouse está em Button1: } { Solução 1: } var Pt: TPoint; Rct: TRect; begin GetCursorPos(Pt); GetWindowRect(Button1.Handle, Rct); if PtInRect(Rct, Pt) then { Está no botão } else { NÃO está no botão } end; { Solução 2: } var Pt: TPoint; begin GetCursorPos(Pt); if WindowFromPoint(Pt) = Button1.Handle then { Está no botão } else { Não está no botão } end;
Observações
A API GetWindowRect obtém o retângulo (TRect) ocupado por uma janela. Podemos usar GetClientRect para obter o somente da parte cliente da janela. Podemos também usar a propriedade BoundsRect que existe na maioria dos componentes visuais, ou mesmo informar qualquer outro retângulo da tela. Se usarmos a propriedade BoundsRect, precisaremos converter as coordenadas clientes para coordenadas de tela (com a função ClientToScreen). Um lembrete: a solução 2 só poderá ser aplicada a controles ajanelados.
O conteúdo desta página pode ajudar alguém? Compartilhe!