An application sends an EM_CHARFROMPOS message to retrieve the zero-based character index and zero-based line index of the character nearest the specified point in an edit control.
EM_CHARFROMPOS wParam = 0; lParam = MAKELPARAM(x, y)
The return value specifies the character index in the low-order word and the line index in the high-order word. For single-line edit controls, the line index is always 0.
The return value indicates the last character in the edit control if the given point is beyond the last character in the control.
The character index of the return value corresponds to the line delimiter if the specified point is past the last visible character in a line.
The return value is -1 if the specified point is outside the client area of the edit control.