Как узнать на какой строке в EditBox'е находится каретка?
MSDN пишет (EM_LINEFROMCHAR):
ich Specifies the character index of the character contained in the line whose number is to be retrieved. If the ich parameter is –1, either the line number of the current line (the line containing the caret) is retrieved or, if there is a selection, the line number of the line containing the beginning of the selection is retrieved.
В методе Change для Edit'a пишу lineindex = SendMessage(hwnd, EM_LINEFROMCHAR, -1, 0) + 1
но результат не совсем верный (или совсем не верный ), когда я в конце текста, тогда все нормально, а если редактирую текст в середине, тогда результат не изменяется пока не изменится количество строк.
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long