Mouse - descobrir se esta sobre um controle |
Top Previous Next |
|
// 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 Caption := 'Está no botão' else Caption := 'NÃO Está no botão'; end;
// Solução 2: var Pt: TPoint; begin GetCursorPos(Pt); if WindowFromPoint(Pt) = Button1.Handle then Caption := 'Está no botão' else Caption := '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 |