次の方法で共有


CEdit::LineFromChar

指定された文字のインデックスを含む行の行番号を取得するには、この関数を呼び出します。

int LineFromChar(
   int nIndex = -1 
) const;

パラメーター

  • nIndex
    目的の文字のから始まるインデックス値を編集コントロールのテキストに含まれているか、– 1 つが含まれます。nIndex が 1 の場合、キャレットの現在の行を含むつまり、行を指定します。

戻り値

nIndexで指定した文字のインデックスを含む行で始まる行番号。nIndex が 1 の場合、一つは、オプションの最初の文字を含む行の数を返します。オプションが指定されていない場合、現在の行数が返されます。

解説

文字のインデックスは、エディット コントロールの先頭から文字の数です。

このメンバー関数は、複数行のエディット コントロールだけが使用されます。

詳細については、Windows SDKの EM_LINEFROMCHAR を参照してください。

使用例

// 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 */);

必要条件

ヘッダー: afxwin.h

参照

関連項目

CEdit クラス

階層図

CEdit::LineIndex