CEdit::LineFromChar
Эта функция вызывается, чтобы получить номер линии линии, содержащую заданный индекс символа.
int LineFromChar(
int nIndex = -1
) const;
Параметры
- nIndex
Содержит нулевой- на основе значения индекса для требуемого символов в тексте элемента управления "Поле ввода" или – 1. Если nIndex – 1, оно указывает текущую линии, т е линию, которая содержит курсора.
Возвращаемое значение
Начинающийся с нуля номер линии линии, содержащий индекс символа, указанный nIndex. Если nIndex – 1, возвращается номер линии, содержащая первый символ выделения. Если выделение, то возвращается текущий номер линии.
Заметки
Индекс символа количество символов с начала элемента управления "Поле ввода".
Этот многономенклатурными функция-член используется только элементами управления "Поле ввода".
Дополнительные сведения см. в разделе EM_LINEFROMCHAR в Windows SDK.
Пример
// The index of the char to get information on.
int nIndex = 4;
CString strText;
m_myEdit.GetWindowText(strText);
strText = strText.Mid(nIndex, 1);
// Get the text extent of the character.
CDC* pDC = m_myEdit.GetDC();
CSize sz = pDC->GetTextExtent(strText);
m_myEdit.ReleaseDC(pDC);
CPoint pt = m_myEdit.PosFromChar(nIndex);
// Dump the index, character, line number, and character bounds.
TRACE(_T("nIndex = %d, character = %c, line = %d, bounds = ")
_T("{%d, %d, %d, %d}\r\n"),
nIndex, strText[0], m_myEdit.LineFromChar(nIndex),
pt.x /* left */, pt.y /* top */,
pt.x+sz.cx /* right */, pt.y+sz.cy /* bottom */);
Требования
Header: afxwin.h