in Delphi TIPS :: 
Every Delphi control, descendant of the TControl class, exposes two methods you can use to convert point coordinates: ScreenToClient and ClientToScreen.
In screen coordinates (0, 0) corresponds to the upper left corner of the screen.
In client area coordinates (0, 0) corresponds to the upper left corner of the control's client area.
Read the full tip to find out when and how to use ScreenToClient and ClientToScreen
Related: Implemention OnMouseOver for Items in a TComboBox. | How to Move and Resize Controls at Run Time | TreeView with check boxes and radio buttons


One gotcha that cost me a lot of time is that there is an additional one-pixel border INSIDE the client area of an edit control!