Существует что-то, чтобы отметить здесь: Окончание позиция не является позиция последнего выбранного символа. Это позиция символа сразу после последнего выделенного символа. Параметр WPARAM указатель на буфер, который получает начальную позицию выделения. Этот параметр может быть NULL. Параметр LPARAM указатель на буфер, который принимает положение первого символа невыбранного после окончания выбора. Этот параметр также может быть NULL. Возвращаемое значение дает желаемого начала и окончания позиции, поэтому параметры WPARAM и LPARAM действительно может быть NULL.
Возвращаемое значение является нуля значение с начальной позиции выбора в LOWORD и позиции первого символа сразу после последнего выделенного символа в HIWORD. Если какой-либо из этих значений превышает 65535, возвращаемое значение равно -1. EM_LINEFROMCHAR Это сообщение используется, чтобы получить индекс строки, содержащей указанный индекс символа в окне редактирования многострочного. Здесь параметр WPARAM это индекс характер символа, содержащегося в строке, число которых должно быть извлечены.
Если этот параметр равен -1, EM_LINEFROMCHAR извлекает либо номер строки текущей строки (строка с кареткой), или, если есть выбор, то номер строки в строке, содержащей начало отбора. LPARAM не используется и должен быть установлен в NULL. Возвращаемое значение является нулевой индекс строки строки, содержащей индекс символа, указанный wParam'а,. EM_LINEINDEX Это сообщение используется, чтобы получить индекс символа первого символа в заданной линии в окне редактирования многострочного. Параметр WPARAM это нуля номер строки.
Значение -1 указывает номер текущей строки (строку, содержащую каретки). Параметр LPARAM не используется, и так должно быть установлено на NULL. EM_LINELENGTH Это сообщение отправляется на контроль редактирования, чтобы получить длину, в символах, строки. Параметр WPARAM это индекс характер персонажа в соответствии с длиной, чт