Mega Code Archive

 
Categories / Delphi / VCL
 

How can i tell if the mouse is over my form

Question: How can I tell if the mouse is over my form? Answer: You can use the GetCapture() windows API function to capture the mouse. See the Windows documentation for additional information and limitations on mouse capturing. Example: procedure TForm1.FormDeactivate(Sender: TObject); begin ReleaseCapture; end; procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin If GetCapture = 0 then SetCapture(Form1.Handle); if PtInRect(Rect(Form1.Left, Form1.Top, Form1.Left + Form1.Width, Form1.Top + Form1.Height), ClientToScreen(Point(x, y))) then Form1.Caption := 'Mouse is over form' else Form1.Caption := 'Mouse is outside of form'; end;