CRichEditCtrl クラス

リッチ エディット コントロールの機能を提供します。

構文

class CRichEditCtrl : public CWnd

メンバー

パブリック コンストラクター

名前 説明
CRichEditCtrl::CRichEditCtrl CRichEditCtrl オブジェクトを構築します。

パブリック メソッド

名前 説明
CRichEditCtrl::CanPaste クリップボードの内容をこのリッチ エディット コントロールに貼り付けることができるかどうかを判断します。
CRichEditCtrl::CanRedo コントロールの再実行キューにアクションがあるかどうかを判断します。
CRichEditCtrl::CanUndo 編集操作を元に戻すことができるかどうかを決定します。
CRichEditCtrl::CharFromPos 編集コントロールのクライアント領域内の指定したポイントに最も近い文字に関する情報を取得します。
CRichEditCtrl::Clear 現在の選択範囲をクリアします。
CRichEditCtrl::Copy 現在の選択範囲をクリップボードにコピーします。
CRichEditCtrl::Create Windows リッチ エディット コントロールを作成し、この CRichEditCtrl オブジェクトに関連付けます。
CRichEditCtrl::CreateEx 指定した拡張 Windows スタイルを使用して Windows リッチ エディット コントロールを作成し、この CRichEditCtrl オブジェクトに関連付けます。
CRichEditCtrl::Cut 現在の選択範囲をクリップボードに切り取ります。
CRichEditCtrl::DisplayBand この CRichEditCtrl オブジェクトの内容の一部を表示します。
CRichEditCtrl::EmptyUndoBuffer この CRichEditCtrl オブジェクトの元に戻すフラグをリセット (クリア) します。
CRichEditCtrl::FindText このオブジェクト内のテキストを CRichEditCtrl 検索します。
CRichEditCtrl::FindWordBreak 指定した文字位置の前後の次の単語区切りを検索するか、その位置にある文字に関する情報を取得します。
CRichEditCtrl::FormatRange ターゲット出力デバイスのテキスト範囲を書式設定します。
CRichEditCtrl::GetCharPos このオブジェクト内の特定の文字の位置を CRichEditCtrl 決定します。
CRichEditCtrl::GetDefaultCharFormat この CRichEditCtrl オブジェクトの現在の既定の文字書式属性を取得します。
CRichEditCtrl::GetEventMask この CRichEditCtrl オブジェクトのイベント マスクを取得します。
CRichEditCtrl::GetFirstVisibleLine この CRichEditCtrl オブジェクトの一番上に表示される線を指定します。
CRichEditCtrl::GetIRichEditOle このリッチ エディット コントロールの IRichEditOle インターフェイスへのポインターを取得します。
CRichEditCtrl::GetLimitText ユーザーがこの CRichEditCtrl オブジェクトに入力できるテキストの量の制限を取得します。
CRichEditCtrl::GetLine この CRichEditCtrl オブジェクトからテキスト行を取得します。
CRichEditCtrl::GetLineCount この CRichEditCtrl オブジェクト内の行数を取得します。
CRichEditCtrl::GetModify この CRichEditCtrl オブジェクトの内容が前回の保存以降に変更されたかどうかを判断します。
CRichEditCtrl::GetOptions 豊富な編集コントロール オプションを取得します。
CRichEditCtrl::GetParaFormat この CRichEditCtrl オブジェクトの現在の選択範囲の段落書式属性を取得します。
CRichEditCtrl::GetPunctuation リッチ エディット コントロールの現在の句読点文字を取得します。 このメッセージは、オペレーティング システムのアジア言語バージョンでのみ使用できます。
CRichEditCtrl::GetRect この CRichEditCtrl オブジェクトの書式設定の四角形を取得します。
CRichEditCtrl::GetRedoName コントロールの再実行キュー内の次のアクションの種類 (存在する場合) を取得します。
CRichEditCtrl::GetSel この CRichEditCtrl オブジェクト内の現在の選択範囲の開始位置と終了位置を取得します。
CRichEditCtrl::GetSelectionCharFormat この CRichEditCtrl オブジェクトの現在の選択範囲の文字書式属性を取得します。
CRichEditCtrl::GetSelectionType この CRichEditCtrl オブジェクトの現在の選択範囲の内容の種類を取得します。
CRichEditCtrl::GetSelText この CRichEditCtrl オブジェクトの現在の選択範囲のテキストを取得します。
CRichEditCtrl::GetTextLength この CRichEditCtrl オブジェクト内のテキストの長さを文字で取得します。 終端の null 文字は含まれません。
CRichEditCtrl::GetTextLengthEx リッチエディット ビューの文字数またはバイト数を取得します。 リッチ エディット コントロール内のテキストの長さを決定する方法を示すフラグの一覧を受け入れます
CRichEditCtrl::GetTextMode リッチ エディット コントロールの現在のテキスト モードと元に戻すレベルを取得します。
CRichEditCtrl::GetTextRange 指定したテキスト範囲を取得します。
CRichEditCtrl::GetUndoName 次の元に戻す操作の種類 (ある場合) を取得します。
CRichEditCtrl::GetWordWrapMode リッチ エディット コントロールの現在の単語折り返しオプションと単語区切りオプションを取得します。 このメッセージは、オペレーティング システムのアジア言語バージョンでのみ使用できます。
CRichEditCtrl::HideSelection 現在の選択範囲を表示または非表示にします。
CRichEditCtrl::LimitText ユーザーがオブジェクトに入力できるテキストの量を CRichEditCtrl 制限します。
CRichEditCtrl::LineFromChar 指定された文字を含む行を決定します。
CRichEditCtrl::LineIndex この CRichEditCtrl オブジェクト内の特定の行の文字インデックスを取得します。
CRichEditCtrl::LineLength この CRichEditCtrl オブジェクト内の特定の行の長さを取得します。
CRichEditCtrl::LineScroll この CRichEditCtrl オブジェクト内のテキストをスクロールします。
CRichEditCtrl::Paste クリップボードの内容をこのリッチ エディット コントロールに挿入します。
CRichEditCtrl::PasteSpecial クリップボードの内容を、指定されたデータ形式でこのリッチ エディット コントロールに挿入します。
CRichEditCtrl::PosFromChar 編集コントロール内の指定した文字のクライアント領域座標を取得します。
CRichEditCtrl::Redo コントロールの再実行キューの次のアクションをやり直します。
CRichEditCtrl::ReplaceSel この CRichEditCtrl オブジェクトの現在の選択範囲を指定したテキストに置き換えます。
CRichEditCtrl::RequestResize この CRichEditCtrl オブジェクトに要求サイズ変更通知を強制的に送信します。
CRichEditCtrl::SetAutoURLDetect リッチ エディット コントロールで自動 URL 検出がアクティブかどうかを示します。
CRichEditCtrl::SetBackgroundColor この CRichEditCtrl オブジェクトの背景色を設定します。
CRichEditCtrl::SetDefaultCharFormat この CRichEditCtrl オブジェクトの現在の既定の文字書式属性を設定します。
CRichEditCtrl::SetEventMask この CRichEditCtrl オブジェクトのイベント マスクを設定します。
CRichEditCtrl::SetModify この CRichEditCtrl オブジェクトの変更フラグを設定またはクリアします。
CRichEditCtrl::SetOLECallback このリッチ エディット コントロールの IRichEditOleCallback COM オブジェクトを設定します。
CRichEditCtrl::SetOptions この CRichEditCtrl オブジェクトのオプションを設定します。
CRichEditCtrl::SetParaFormat この CRichEditCtrl オブジェクトの現在の選択範囲の段落書式属性を設定します。
CRichEditCtrl::SetPunctuation リッチ エディット コントロールの句読点文字を設定します。 このメッセージは、オペレーティング システムのアジア言語バージョンでのみ使用できます。
CRichEditCtrl::SetReadOnly この CRichEditCtrl オブジェクトの読み取り専用オプションを設定します。
CRichEditCtrl::SetRect この CRichEditCtrl オブジェクトの書式設定の四角形を設定します。
CRichEditCtrl::SetSel この CRichEditCtrl オブジェクトの選択範囲を設定します。
CRichEditCtrl::SetSelectionCharFormat この CRichEditCtrl オブジェクトの現在の選択範囲の文字書式属性を設定します。
CRichEditCtrl::SetTargetDevice この CRichEditCtrl オブジェクトのターゲット出力デバイスを設定します。
CRichEditCtrl::SetTextMode リッチ エディット コントロールのテキスト モードまたは元に戻すレベルを設定します。 コントロールにテキストが含まれている場合、メッセージは失敗します。
CRichEditCtrl::SetUndoLimit 元に戻すキューに格納できるアクションの最大数を設定します。
CRichEditCtrl::SetWordCharFormat この CRichEditCtrl オブジェクトの現在の単語の文字書式属性を設定します。
CRichEditCtrl::SetWordWrapMode リッチ エディット コントロールの単語折り返しオプションと単語区切りオプションを設定します。 このメッセージは、オペレーティング システムのアジア言語バージョンでのみ使用できます。
CRichEditCtrl::StopGroupTyping コントロールが現在の元に戻す操作に追加の入力操作を収集しないようにします。 コントロールは、次の入力操作 (ある場合) を元に戻すキューの新しいアクションに格納します。
CRichEditCtrl::StreamIn 入力ストリームからこの CRichEditCtrl オブジェクトにテキストを挿入します。
CRichEditCtrl::StreamOut この CRichEditCtrl オブジェクトのテキストを出力ストリームに格納します。
CRichEditCtrl::Undo 最後の編集操作を元に戻します。

解説

"リッチ エディット コントロール" は、ユーザーがテキストを入力および編集できるウィンドウです。 テキストには、文字や段落の書式を割り当てることができ、埋め込み OLE オブジェクトを含めることができます。 リッチ エディット コントロールは、テキストを書式設定するためのプログラミング インターフェイスを提供します。 ただし、アプリケーションは、ユーザーが書式設定操作を使用できるようにするために必要なユーザー インターフェイス コンポーネントを実装する必要があります。

この Windows 共通コントロール (したがって CRichEditCtrl 、クラス) は、Windows 95/98 および Windows NT バージョン 3.51 以降で実行されているプログラムでのみ使用できます。 このクラスでは CRichEditCtrl 、Windows SDK のリッチ エディット コントロールのバージョン 2.0 と 3.0 がサポートされています。

注意事項

ダイアログ ボックスでリッチ エディット コントロールを使用している場合 (アプリケーションが SDI、MDI、またはダイアログ ベースのいずれであるかに関係なく)、ダイアログ ボックスを表示する前に 1 回呼び出す AfxInitRichEdit 必要があります。 この関数を呼び出す一般的な場所は、プログラムの InitInstance メンバー関数です。 ダイアログ ボックスを表示するたびに、このメソッドを呼び出す必要はなく、最初のみ呼び出す必要があります。 CRichEditView を使用する場合は、AfxInitRichEditKを呼び出す必要はありません。

使用 CRichEditCtrlの詳細については、以下を参照してください。

MFC アプリケーションでリッチ エディット コントロールを使用する例については、ワードパッドのサンプル アプリケーションを参照してください。

継承階層

CObject

CCmdTarget

CWnd

CRichEditCtrl

要件

ヘッダー:afxcmn.h

CRichEditCtrl::CanPaste

リッチ エディット コントロールで、指定したクリップボード形式を貼り付けることができるかどうかを判断します。

BOOL CanPaste(UINT nFormat = 0) const;

パラメーター

nFormat
クエリを実行するクリップボード のデータ形式。 このパラメーターには、定義済みのクリップボード形式のいずれか、またはによって返される RegisterClipboardFormat値を指定できます。

戻り値

クリップボード形式を貼り付けることができる場合は 0 以外。それ以外の場合は 0。

解説

0 の場合 nFormat は、 CanPaste 現在クリップボードにある任意の形式を試します。

詳細については、Windows SDK のメッセージとRegisterClipboardFormat関数を参照してくださいEM_CANPASTE

// Paste the clipboard data if possible.
if (m_myRichEditCtrl.CanPaste())
{
   m_myRichEditCtrl.Paste();
}

CRichEditCtrl::CanRedo

再実行キューにアクションが含まれているかどうかを判断します。

BOOL CanRedo() const;

戻り値

再実行キューにアクションが含まれている場合は 0 以外、それ以外の場合は 0。

解説

再実行キュー内の操作の名前を検出するには、次を呼び出します CRichEditCtrl::GetRedoName。 最新の元に戻す操作をやり直すには、次を呼び出します Redo

詳細については、Windows SDK の EM_CANREDO に関する記事を参照してください。

CRichEditCtrl::CanUndo

最後の編集操作を元に戻すことができるかどうかを判断します。

BOOL CanUndo() const;

戻り値

メンバー関数の呼び出しによって最後の編集操作を元に戻すことができる場合は 0 以外。元に Undo 戻すことができない場合は 0。

解説

詳細については、Windows SDK の EM_CANUNDO に関する記事を参照してください。

// Undo the last operation, if possible.
if (m_myRichEditCtrl.CanUndo())
   m_myRichEditCtrl.Undo();

CRichEditCtrl::CharFromPos

パラメーターで指定された位置にある文字に関する情報を取得します pt

int CharFromPos(CPoint pt) const;

パラメーター

pt
CPoint指定した点の座標を含むオブジェクト。

戻り値

指定したポイントに最も近い文字の 0 から始まる文字インデックス。 指定したポイントがコントロールの最後の文字を超えている場合、戻り値はコントロールの最後の文字を示します。

解説

このメンバー関数は、リッチ エディット コントロールで動作します。 エディット コントロールの情報を取得するには、次を呼び出します CEdit::CharFromPos

詳細については、Windows SDK の EM_CHARFROMPOS に関する記事を参照してください。

CRichEditCtrl::Clear

リッチ エディット コントロールの現在の選択範囲 (存在する場合) を削除 (クリア) します。

void Clear();

解説

によって実行される Clear 削除は、メンバー関数を呼び出すことによって元に Undo 戻すことができます。

現在の選択範囲を削除し、削除した内容をクリップボードに配置するには、メンバー関数を Cut 呼び出します。

詳細については、Windows SDK の WM_CLEAR に関する記事を参照してください。

// Delete all of the text.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Clear();

CRichEditCtrl::Copy

リッチ エディット コントロールの現在の選択範囲 (ある場合) をクリップボードにコピーします。

void Copy();

解説

詳細については、Windows SDK の WM_COPY に関する記事を参照してください。

// Copy all of the text to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Copy();

CRichEditCtrl::Create

Windows リッチ エディット コントロールを作成し、この CRichEditCtrl オブジェクトに関連付けます。

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

パラメーター

dwStyle
編集コントロールのスタイルを指定します。 以下の「解説」セクションに記載されているウィンドウ スタイルの組み合わせを適用し、Windows SDK で説明するコントロール スタイルを編集します。

rect
編集コントロールのサイズと位置を指定します。 オブジェクトまたはRECT構造体をCRect指定できます。

pParentWnd
エディット コントロールの親ウィンドウ (多くの場合 a CDialog) を指定します。 次に指定 NULLすることはできません。

nID
編集コントロールの ID を指定します。

戻り値

初期化が成功した場合は 0 以外。それ以外の場合は 0。

解説

2 つの手順でオブジェクトを CRichEditCtrl 構築します。 まず、コンストラクターを CRichEditCtrl 呼び出し、次に呼び出 Createします。これにより、Windows 編集コントロールが作成され、オブジェクトに CRichEditCtrl アタッチされます。

この関数を使用してリッチ エディット コントロールを作成する場合は、まず、必要な共通コントロール ライブラリを読み込む必要があります。 ライブラリを読み込むには、グローバル関数 AfxInitRichEditを呼び出し、次に共通コントロール ライブラリを初期化します。 プロセスで 1 回だけ呼び出す AfxInitRichEdit 必要があります。

実行すると Create 、Windows は、エディット コントロールに WM_NCCREATEメッセージ WM_NCCALCSIZE、、 WM_CREATEおよび WM_GETMINMAXINFO メッセージを送信します。

これらのメッセージは、基底クラスの 、、、およびOnGetMinMaxInfoメンバー関数によって既定でCWnd処理されます。 OnCreateOnNcCalcSizeOnNcCreate 既定のメッセージ処理を拡張するには、クラスを CRichEditCtrl派生させ、新しいクラスにメッセージ マップを追加し、上記のメッセージ ハンドラー メンバー関数をオーバーライドします。 OnCreateたとえば、新しいクラスに必要な初期化を実行するためにオーバーライドします。

のウィンドウ スタイル を編集コントロールに適用します。

  • WS_CHILD いつも。

  • WS_VISIBLE 通常は。

  • WS_DISABLED ほとんど。

  • WS_GROUP コントロールをグループ化します。

  • WS_TABSTOP タブの順序に編集コントロールを含めるには

ウィンドウ スタイルの詳細については、Windows SDK を参照してください CreateWindow

m_myRichEditCtrl.Create(
    WS_CHILD | WS_VISIBLE | WS_BORDER | ES_MULTILINE,
    CRect(10, 10, 100, 200), pParentWnd, IDD_RICHEDITCTRL);

CRichEditCtrl::CreateEx

コントロール (子ウィンドウ) を作成し、オブジェクトに CRichEditCtrl 関連付けます。

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

パラメーター

dwExStyle
作成するコントロールの拡張スタイルを指定します。 拡張 Windows スタイルの一覧については、Windows SDK の dwExStyle パラメーター CreateWindowEx を参照してください。

dwStyle
編集コントロールのスタイルを指定します。 Windows SDK で説明されているコントロール スタイルの「解説セクションに記載されているウィンドウ スタイルと編集コントロール スタイルCreate組み合わせを適用します。

rect
作成するウィンドウの RECT サイズと位置をクライアント座標 pParentWndで記述する構造体への参照。

pParentWnd
コントロールの親であるウィンドウへのポインター。

nID
コントロールの子ウィンドウ ID。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

Windows 拡張スタイルのCreate前書WS_EX_きで指定された拡張 Windows スタイルを適用する代わりに使用CreateExします。

CRichEditCtrl::CRichEditCtrl

CRichEditCtrl オブジェクトを構築します。

CRichEditCtrl();

解説

Windows リッチ エディット コントロールを構築するために使用 Create します。

// Declare a local CRichEditCtrl object.
CRichEditCtrl myRichEditCtrl;

// Declare a dynamic CRichEditCtrl object.
CRichEditCtrl* pRichEditCtrl = new CRichEditCtrl;

CRichEditCtrl::Cut

リッチ エディット コントロール内の現在の選択範囲を削除 (切り取り) し、削除したテキストをクリップボードにコピーします (存在する場合)。

void Cut();

解説

によって実行される Cut 削除は、メンバー関数を呼び出すことによって元に Undo 戻すことができます。

削除されたテキストをクリップボードに配置せずに現在の選択範囲を削除するには、メンバー関数を Clear 呼び出します。

詳細については、Windows SDK の WM_CUT に関する記事を参照してください。

// Delete all of the text and copy it to the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Cut();

CRichEditCtrl::DisplayBand

リッチ エディット コントロール (テキストおよび OLE アイテム) の内容の一部を、前に書式設定した FormatRangeとおりに表示します。

BOOL DisplayBand(LPRECT pDisplayRect);

パラメーター

pDisplayRect
テキストを RECT 表示するデバイスの領域を指定する、または CRect オブジェクトへのポインター。

戻り値

書式設定されたテキストの表示が成功した場合は 0 以外、それ以外の場合は 0。

解説

テキストおよび OLE 項目は、ポインター pDisplayRectで指定された領域にクリップされます。

詳細については、Windows SDK の EM_DISPLAYBAND に関する記事を参照してください。

CRichEditCtrl::FormatRange の例を参照してください。

CRichEditCtrl::EmptyUndoBuffer

このリッチ エディット コントロールの元に戻すフラグをリセット (クリア) します。

void EmptyUndoBuffer();

解説

コントロールは、最後の編集操作を元に戻すことができなくなります。 元に戻すフラグは、リッチ エディット コントロール内の操作を元に戻すことができるたびに設定されます。

元に戻すフラグは、メンバー関数SetWindowTextを呼び出すたびに自動的にCWndクリアされます。

詳細については、Windows SDK の EM_EMPTYUNDOBUFFER に関する記事を参照してください。

// Clear the undo buffer.
if (m_myRichEditCtrl.CanUndo())
{
   m_myRichEditCtrl.EmptyUndoBuffer();
   ASSERT(!m_myRichEditCtrl.CanUndo());
}

CRichEditCtrl::FindText

リッチ エディット コントロール内のテキストを検索します。

long FindText(
    DWORD dwFlags,
    FINDTEXTEX* pFindText) const;

パラメーター

dwFlags
使用可能な値の一覧については、Windows SDK をEM_FINDTEXTEXT参照してくださいwParam

pFindText
検索のパラメーターを FINDTEXTEX 指定し、一致が見つかった範囲を返す構造体へのポインター。

戻り値

次の一致の 0 から始まる文字位置。- これ以上一致がない場合は 1。

解説

構造内の構造で適切な範囲パラメーターを設定することで、 CHARRANGE 上下を FINDTEXTEX 検索できます。

詳細については、Windows SDK のメッセージとFINDTEXTEX構造を参照してくださいEM_FINDTEXTEX

// Set the selection to be the first occurrence of the
// string lpszmyString, if it is found.
FINDTEXTEX ft;
ft.chrg.cpMin = 0;
ft.chrg.cpMax = 50;
ft.lpstrText = _T("wallaby");
long n = m_myRichEditCtrl.FindText(FR_MATCHCASE | FR_WHOLEWORD, &ft);
if (n != -1)
   m_myRichEditCtrl.SetSel(ft.chrgText);

CRichEditCtrl::FindWordBreak

で指定した位置の前または後の次の単語区切りを検索 nStartします。

DWORD FindWordBreak(
    UINT nCode,
    DWORD nStart) const;

パラメーター

nCode
実行するアクションを示します。 使用可能な値の一覧については、Windows SDK のパラメーター codeEM_FINDWORDBREAK の説明を参照してください。

nStart
開始位置の 0 から始まる文字位置。

戻り値

パラメーター nCodeに基づいています。 詳細については、Windows SDK の EM_FINDWORDBREAK に関する記事を参照してください。

解説

このメンバー関数を使用すると、特定の位置にある文字に関する情報を取得できます。

CRichEditCtrl::FormatRange

特定のデバイスのリッチ エディット コントロール内のテキストの範囲を書式設定します。

long FormatRange(
    FORMATRANGE* pfr,
    BOOL bDisplay = TRUE);

パラメーター

pfr
出力デバイスに FORMATRANGE 関する情報を含む構造体へのポインター。 NULL は、リッチ エディット コントロール内のキャッシュされた情報を解放できることを示します。

bDisplay
テキストをレンダリングするかどうかを示します。 の場合 FALSE、テキストは測定されます。

戻り値

領域に収まる最後の文字のインデックスに 1 を加えたもの。

解説

通常、この呼び出しの後 DisplayBandに .

詳細については、Windows SDK のメッセージとFORMATRANGE構造を参照してくださいEM_FORMATRANGE

// First obtain a pointer to a printer DC.
CPageSetupDialog psDlg;
if (IDOK == psDlg.DoModal())
{
   CDC *pMyPrinterDC = CDC::FromHandle(psDlg.CreatePrinterDC());

   FORMATRANGE fr;

   // Get the page width and height from the printer.
   long lPageWidth = ::MulDiv(pMyPrinterDC->GetDeviceCaps(PHYSICALWIDTH),
                              1440, pMyPrinterDC->GetDeviceCaps(LOGPIXELSX));
   long lPageHeight = ::MulDiv(pMyPrinterDC->GetDeviceCaps(PHYSICALHEIGHT),
                               1440, pMyPrinterDC->GetDeviceCaps(LOGPIXELSY));
   CRect rcPage(0, 0, lPageWidth, lPageHeight);

   // Format the text and render it to the printer.
   fr.hdc = pMyPrinterDC->m_hDC;
   fr.hdcTarget = pMyPrinterDC->m_hDC;
   fr.rc = rcPage;
   fr.rcPage = rcPage;
   fr.chrg.cpMin = 0;
   fr.chrg.cpMax = -1;
   m_myRichEditCtrl.FormatRange(&fr, TRUE);

   // Update the display with the new formatting.
   RECT rcClient;
   m_myRichEditCtrl.GetClientRect(&rcClient);
   m_myRichEditCtrl.DisplayBand(&rcClient);

   pMyPrinterDC->DeleteDC();
}

CRichEditCtrl::GetCharPos

この CRichEditCtrl オブジェクト内の特定の文字の位置 (左上隅) を取得します。

CPoint GetCharPos(long lChar) const;

パラメーター

lChar
文字の 0 から始まるインデックス。

戻り値

で指定された lChar文字の左上隅の位置。

解説

文字は、0 から始まるインデックス値を指定することによって指定されます。 このオブジェクトの最後の文字のインデックスより大きい場合lChar、戻り値は、このCRichEditCtrlCRichEditCtrlオブジェクトの最後の文字の直前の文字位置の座標を指定します。

詳細については、Windows SDK の EM_POSFROMCHAR に関する記事を参照してください。

CRichEditCtrl::GetDefaultCharFormat

この CRichEditCtrl オブジェクトの既定の文字書式属性を取得します。

DWORD GetDefaultCharFormat(CHARFORMAT& cf) const;  DWORD GetDefaultCharFormat(CHARFORMAT2& cf) const;

パラメーター

cf
最初のバージョンでは、既定の文字書式属性を CHARFORMAT 保持する構造体へのポインター。

2 番目のバージョンでは、構造体への CHARFORMAT2 ポインター。これは、既定の文字書式属性を保持する、構造体の CHARFORMAT リッチ エディット 2.0 拡張機能です。

戻り値

dwMask データ メンバー cf。 既定の文字書式属性を指定しました。

解説

詳細については、Windows SDK のEM_GETCHARFORMATメッセージとCHARFORMATCHARFORMAT2構造を参照してください。

SetDefaultCharFormat の例を参照してください。

CRichEditCtrl::GetEventMask

この CRichEditCtrl オブジェクトのイベント マスクを取得します。

long GetEventMask() const;

戻り値

この CRichEditCtrl オブジェクトのイベント マスク。

解説

イベント マスクは、オブジェクトが親ウィンドウに CRichEditCtrl 送信する通知メッセージを指定します。

詳細については、Windows SDK の EM_GETEVENTMASK に関する記事を参照してください。

CRichEditCtrl::SetEventMask の例を参照してください。

CRichEditCtrl::GetFirstVisibleLine

この CRichEditCtrl オブジェクトの一番上に表示される線を指定します。

int GetFirstVisibleLine() const;

戻り値

この CRichEditCtrl オブジェクトの最も上から見える行の 0 から始まるインデックス。

解説

詳細については、Windows SDK の EM_GETFIRSTVISIBLELINE に関する記事を参照してください。

int nFirstVisible = m_myRichEditCtrl.GetFirstVisibleLine();

// Scroll the rich edit control so that the first visible line
// is the first line of text.
if (nFirstVisible > 0)
{
   m_myRichEditCtrl.LineScroll(-nFirstVisible, 0);
}

CRichEditCtrl::GetIRichEditOle

このCRichEditCtrlオブジェクトのIRichEditOleインターフェイスにアクセスします。

IRichEditOle* GetIRichEditOle() const;

戻り値

このCRichEditCtrlオブジェクトの IRichEditOle OLE 機能NULLにアクセスするために使用できるインターフェイスへのポインター。インターフェイスにアクセスできない場合。

解説

このインターフェイスを使用して、この CRichEditCtrl オブジェクトの OLE 機能にアクセスします。

詳細については、Windows SDK のメッセージとIRichEditOleインターフェイスを参照してくださいEM_GETOLEINTERFACE

CRichEditCtrl::GetLimitText

この CRichEditCtrl オブジェクトのテキスト制限を取得します。

long GetLimitText() const;

戻り値

この CRichEditCtrl オブジェクトの現在のテキスト制限 (バイト単位)。

解説

テキストの制限は、リッチ エディット コントロールで許容できるテキストの最大量 (バイト単位) です。

詳細については、Windows SDK の EM_GETLIMITTEXT に関する記事を参照してください。

// The new text of the rich edit control.
LPCTSTR lpszmyString = _T("Here's some text in our rich edit control!");
long nLength = (long)_tcslen(lpszmyString);

// Want the text limit to be at least the size of the new string.
if (m_myRichEditCtrl.GetLimitText() < nLength)
   m_myRichEditCtrl.LimitText(nLength);

m_myRichEditCtrl.SetWindowText(lpszmyString);

CRichEditCtrl::GetLine

この CRichEditCtrl オブジェクトからテキスト行を取得します。

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer) const;

int GetLine(
    int nIndex,
    LPTSTR lpszBuffer,
    int nMaxLength) const;

パラメーター

nIndex
取得する行の 0 から始まるインデックス。

lpszBuffer
テキストを受け取るバッファーをポイントします。 バッファーの最初の単語では、バッファーにコピーできる最大バイト数を指定する必要があります。

nMaxLength
にコピー lpszBufferできる最大文字数。 2 番目の形式では GetLine 、この値は次で指定されたバッファーの最初の単語に配置されます lpszBuffer

戻り値

にコピーされた lpszBuffer文字数。

解説

コピーされた行に終端の null 文字が含まれていません。

Note

バッファーの最初の単語にはコピーする文字数が格納されるため、バッファーの長さが 4 バイト以上であることを確認します。

詳細については、Windows SDK の EM_GETLINE に関する記事を参照してください。

GetLineCount の例を参照してください。

CRichEditCtrl::GetLineCount

オブジェクト内の行数を CRichEditCtrl 取得します。

int GetLineCount() const;

戻り値

この CRichEditCtrl オブジェクト内の行数。

解説

詳細については、Windows SDK の EM_GETLINECOUNT に関する記事を参照してください。

int nLineLength, nLineIndex, nLineCount = m_myRichEditCtrl.GetLineCount();
CString strText, strLine;

// Dump every line of text of the rich edit control.
for (int i = 0; i < nLineCount; i++)
{
   nLineIndex = m_myRichEditCtrl.LineIndex(i);
   nLineLength = m_myRichEditCtrl.LineLength(nLineIndex);
   m_myRichEditCtrl.GetLine(i, strText.GetBufferSetLength(nLineLength + 1),
                            nLineLength);
   strText.SetAt(nLineLength, _T('\0')); // null terminate
   strText.ReleaseBuffer(nLineLength + 1);

   TRACE(_T("line %d: '%s'\r\n"), i, strText);
}

CRichEditCtrl::GetModify

この CRichEditCtrl オブジェクトの内容が変更されたかどうかを判断します。

BOOL GetModify() const;

戻り値

この CRichEditCtrl オブジェクト内のテキストが変更された場合は 0 以外、それ以外の場合は 0。

解説

Windows メインリッチ エディット コントロールの内容が変更されたかどうかを示す内部フラグが含まれています。 このフラグは、編集コントロールが最初に作成されるときにクリアされ、メンバー関数を SetModify 呼び出すことによってクリアすることもできます。

詳細については、Windows SDK の EM_GETMODIFY に関する記事を参照してください。

// Reset the modified state only if the text has been modified.
if (m_myRichEditCtrl.GetModify())
   m_myRichEditCtrl.SetModify(FALSE);

CRichEditCtrl::GetOptions

リッチ エディット コントロールに現在設定されているオプションを取得します。

UINT GetOptions() const;

戻り値

現在のオプション フラグ値の組み合わせ。 これらの値の一覧については、Windows SDK でEM_SETOPTIONS説明されているように、メッセージのパラメーターを参照してくださいfOptions

CRichEditCtrl::GetParaFormat

現在の選択範囲の段落書式属性を取得します。

DWORD GetParaFormat(PARAFORMAT& pf) const;  DWORD GetParaFormat(PARAFORMAT2& pf) const;

パラメーター

pf
最初のバージョンでは、現在の選択範囲の PARAFORMAT 段落書式属性を保持する構造体へのポインター。

2 番目のバージョンでは、構造体への PARAFORMAT2 ポインター。これは、既定の文字書式属性を保持する、構造体の PARAFORMAT リッチ エディット 2.0 拡張機能です。

戻り値

dwMask データ メンバー pf。 現在の選択範囲全体で一貫した段落書式属性を指定します。

解説

複数の段落が選択されている場合は、 pf 最初に選択した段落の属性を受け取ります。 戻り値は、選択全体で一貫性のある属性を指定します。

詳細については、Windows SDK のEM_GETPARAFORMATメッセージとPARAFORMATPARAFORMAT2構造を参照してください。

CRichEditCtrl::SetParaFormat の例を参照してください。

CRichEditCtrl::GetPunctuation

リッチ エディット コントロールの現在の句読点文字を取得します。

BOOL GetPunctuation(
    UINT fType,
    PUNCTUATION* lpPunc) const;

パラメーター

fType
Windows SDK のパラメーターで fType 説明されているように、句読点の EM_GETPUNCTUATION 種類フラグ。

lpPunc
Windows SDK で説明されているように、構造体への PUNCTUATION ポインター。

戻り値

操作が成功した場合は 0 以外、それ以外の場合は 0。

解説

このメンバー関数は、オペレーティング システムのアジア言語バージョンでのみ使用できます。

CRichEditCtrl::GetRect

この CRichEditCtrl オブジェクトの書式設定の四角形を取得します。

void GetRect(LPRECT lpRect) const;

パラメーター

lpRect
CRectまたは、このCRichEditCtrlオブジェクトの書式設定の四角形を受け取る a RECT へのポインター。

解説

書式設定の四角形は、テキストの外接する四角形です。 この値は、オブジェクトのサイズに CRichEditCtrl 依存しません。

詳細については、Windows SDK の EM_GETRECT に関する記事を参照してください。

LimitText の例を参照してください。

CRichEditCtrl::GetRedoName

再実行キュー内の次に使用可能なアクションの種類を取得します (存在する場合)。

UNDONAMEID GetRedoName() const;

戻り値

成功した場合は、 GetRedoName コントロールの UNDONAMEID 再実行キュー内の次のアクションの種類を示す列挙型を返します。 再実行キューが空の場合、またはキュー内の再実行アクションが不明な種類の場合は、 GetRedoName 0 が返されます。

解説

元に戻すかやり直すことができるアクションの種類には、入力、削除、ドラッグ ドロップ、切り取り、貼り付けの操作が含まれます。 この情報は、やり直し可能な操作のドロップダウン リスト ボックスなど、元に戻す操作とやり直し操作用の拡張ユーザー インターフェイスを提供するアプリケーションに役立ちます。

CRichEditCtrl::GetSel

この CRichEditCtrl オブジェクト内の現在の選択範囲の境界を取得します。

void GetSel(CHARRANGE& cr) const;

void GetSel(
    long& nStartChar,
    long& nEndChar) const;

パラメーター

cr
現在の選択範囲の CHARRANGE 境界を受け取る構造体への参照。

nStartChar
現在の選択範囲の最初の文字の 0 から始まるインデックス。

nEndChar
現在の選択範囲の最後の文字の 0 から始まるインデックス。

解説

この関数の 2 つの形式では、選択範囲の境界を取得する別の方法が提供されます。 これらのフォームの簡単な説明は次のとおりです。

  • GetSel(cr) このフォームでは、構造体とそのcpMaxメンバーをCHARRANGEcpMin使用して境界が返されます。

  • GetSel(nStartChar,nEndChar) このフォームは、パラメーターnStartChar内の境界を返しますnEndChar

選択範囲には、先頭 (cpMin または nStartChar) が 0 で、終了 (cpMax または nEndChar) が - 1 の場合、すべてが含まれます。

詳細については、Windows SDK のメッセージとCHARRANGE構造を参照してくださいEM_EXGETSEL

// Set the selection to be all characters after the current selection.
long nStartChar, nEndChar;

m_myRichEditCtrl.GetSel(nStartChar, nEndChar);
m_myRichEditCtrl.SetSel(nEndChar, -1);

CRichEditCtrl::GetSelectionCharFormat

現在の選択範囲の文字書式属性を取得します。

DWORD GetSelectionCharFormat(CHARFORMAT& cf) const;  DWORD GetSelectionCharFormat(CHARFORMAT2& cf) const;

パラメーター

cf
最初のバージョンでは、現在の選択範囲の CHARFORMAT 文字書式属性を受け取る構造体へのポインター。

2 番目のバージョンでは、構造体への CHARFORMAT2 ポインター。これは、現在の選択範囲の文字書式属性を受け取る構造体のリッチ エディット 2.0 拡張機能 CHARFORMAT です。

戻り値

dwMask データ メンバー cf。 現在の選択範囲全体で一貫性のある文字書式属性を指定します。

解説

このパラメーターは cf 、現在の選択範囲の最初の文字の属性を受け取ります。 戻り値は、選択全体で一貫性のある属性を指定します。

詳細については、Windows SDK のEM_GETCHARFORMATメッセージとCHARFORMATCHARFORMAT2構造を参照してください。

SetSelectionCharFormat の例を参照してください。

CRichEditCtrl::GetSelectionType

この CRichEditCtrl オブジェクトの選択の種類を決定します。

WORD GetSelectionType() const;

戻り値

現在の選択範囲の内容を示すフラグ。 次のフラグの組み合わせ:

  • SEL_EMPTY 現在選択されていないことを示します。

  • SEL_TEXT 現在の選択範囲にテキストが含まれていることを示します。

  • SEL_OBJECT 現在の選択範囲に少なくとも 1 つの OLE 項目が含まれていることを示します。

  • SEL_MULTICHAR 現在の選択範囲に複数のテキスト文字が含まれていることを示します。

  • SEL_MULTIOBJECT 現在の選択範囲に複数の OLE オブジェクトが含まれていることを示します。

解説

詳細については、Windows SDK の EM_SELECTIONTYPE に関する記事を参照してください。

// Dump the selection text only if it contains at least one text character.
if (m_myRichEditCtrl.GetSelectionType() & (SEL_TEXT | SEL_MULTICHAR))
{
   CString strText = m_myRichEditCtrl.GetSelText();

   TRACE(_T("selection text is '%s'.\r\n"), strText);
}

CRichEditCtrl::GetSelText

この CRichEditCtrl オブジェクトの現在の選択範囲からテキストを取得します。

long GetSelText(LPSTR lpBuf) const;  CString GetSelText() const;

パラメーター

lpBuf
現在の選択範囲のテキストを受け取るバッファーへのポインター。

戻り値

フォームによって異なります。

  • GetSelText(lpBuf) null 終端を含まない、コピーされる lpBuf文字数。

  • GetSelText( ) 現在の選択範囲を含む文字列。

解説

最初の形式を使用する場合は、 GetSelText(lpBuf)バッファーが受信するテキストに十分な大きさであることを確認する必要があります。 現在の選択範囲の文字数を決定する呼び出し GetSel

詳細については、Windows SDK の EM_GETSELTEXT に関する記事を参照してください。

CRichEditCtrl::GetSelectionType の例を参照してください。

CRichEditCtrl::GetTextLength

終了する null 文字を含まない、この CRichEditCtrl オブジェクト内のテキストの長さを文字数で取得します。

long GetTextLength() const;

戻り値

この CRichEditCtrl オブジェクト内のテキストの長さ。

解説

詳細については、Windows SDK の WM_GETTEXTLENGTH に関する記事を参照してください。

// Limit the rich edit controls text to the number of
// characters currently in it.
m_myRichEditCtrl.LimitText(m_myRichEditCtrl.GetTextLength());

CRichEditCtrl::GetTextLengthEx

リッチ エディット コントロールのテキストの長さを計算します。

long GetTextLengthEx(
    DWORD dwFlags,
    UINT uCodePage = -1) const;

パラメーター

dwFlags
テキストの長さを決定するために使用するメソッドを指定する値。 このメンバーには、Windows SDK で説明されている flags メンバーに記載されている 1 つ以上の GETTEXTLENGTHEX 値を指定できます。

uCodePage
翻訳用のコード ページ (CP_ACP ANSI コード ページの場合は 1200、Unicode の場合は 1200)。

戻り値

編集コントロールの文字数またはバイト数。 互換性のないフラグが設定dwFlagsされている場合、このメンバー関数は .E_INVALIDARG

解説

GetTextLengthEx は、テキストの長さを決定する追加の方法を提供します。 リッチ エディット 2.0 機能をサポートしています。 詳細については、「 Windows SDK のリッチエディット コントロール について」を参照してください。

CRichEditCtrl::GetTextMode

リッチ エディット コントロールの現在のテキスト モードと元に戻すレベルを取得します。

UINT GetTextMode() const;

戻り値

Windows SDK で説明されているように、列挙型の TEXTMODE ビット フラグのセット。 このフラグは、コントロールの現在のテキスト モードと元に戻すレベルを示します。

CRichEditCtrl::GetTextRange

指定した文字範囲を取得します。

int GetTextRange(
    int nFirst,
    int nLast,
    CString& refString) const;

パラメーター

nFirst
範囲内の最初の文字の直前の文字位置インデックス。

nLast
範囲内の最後の文字の直後の文字位置。

refString
テキストを CString 受け取るオブジェクトへの参照。

戻り値

コピーされた文字数 。終端の null 文字は含まれません。

解説

詳細については、Windows SDK の EM_GETTEXTRANGE に関する記事を参照してください。

GetTextRange では、リッチ エディット 2.0 機能がサポートされています。 詳細については、「 Windows SDK のリッチエディット コントロール について」を参照してください。

CRichEditCtrl::GetUndoName

元に戻すキューで次に使用可能なアクションの種類を取得します (存在する場合)。

UNDONAMEID GetUndoName() const;

戻り値

元に戻す操作がコントロールの元に戻すキューにある場合は、GetUndoNameキュー内の次のアクションの種類を示す UNDONAMEID 列挙型を返します。 元に戻すキューが空の場合、またはキュー内の元に戻す操作が不明な種類の場合は、 GetUndoName 0 を返します。

解説

元に戻すかやり直すことができるアクションの種類には、入力、削除、ドラッグ ドロップ、切り取り、貼り付けの操作が含まれます。 この情報は、元に戻すことができる操作のドロップダウン リスト ボックスなど、元に戻す操作とやり直し操作の拡張ユーザー インターフェイスを提供するアプリケーションに役立ちます。

CRichEditCtrl::GetWordWrapMode

リッチ エディット コントロールの現在の単語折り返しオプションと単語区切りオプションを取得します。

UINT GetWordWrapMode() const;

戻り値

現在の単語の折り返しオプションと単語区切りオプション。 これらのオプションについては、Windows SDK で EM_SETWORDWRAPMODE 説明されています。

解説

このメンバー関数は、オペレーティング システムのアジア言語バージョンでのみ使用できます。

CRichEditCtrl::HideSelection

選択範囲の表示を変更します。

void HideSelection(
    BOOL bHide,
    BOOL bPerm);

パラメーター

bHide
選択範囲を非表示にするには、選択範囲を表示するか非表示 TRUE にするかを示します。

bPerm
選択範囲の可視性のこの変更を永続的にする必要があるかどうかを示します。

解説

この場合bPermTRUEこのCRichEditCtrlオブジェクトのオプションがECO_NOHIDESEL変更されます。 このオプションの簡単な説明については、「.」を参照してください SetOptions。 この関数を使用して、この CRichEditCtrl オブジェクトのすべてのオプションを設定できます。

詳細については、Windows SDK の EM_HIDESELECTION に関する記事を参照してください。

// Show the selection and make it permanent.
m_myRichEditCtrl.HideSelection(FALSE, TRUE);

CRichEditCtrl::LimitText

ユーザーが編集コントロールに入力できるテキストの長さを制限します。

void LimitText(long nChars = 0);

パラメーター

nChars
ユーザーが入力できるテキストの長さ (バイト単位) を指定します。 このパラメーターが 0 (既定値) の場合、テキストの長さは 64,000 バイトに設定されます。

解説

テキスト制限を変更すると、ユーザーが入力できるテキストのみが制限されます。 編集コントロールに既に存在するテキストには影響しません。また、メンバー関数CWndによってSetWindowText編集コントロールにコピーされたテキストの長さにも影響しません。 アプリケーションで関数を SetWindowText 使用して、呼び出しで指定されているよりも多くのテキストを編集コントロールに配置する LimitText場合、ユーザーは編集コントロール内の任意のテキストを削除できます。 ただし、テキストの制限により、現在の選択範囲を削除してもテキストがテキスト制限を下回る場合を除き、ユーザーは既存のテキストを新しいテキストに置き換えなくなります。

Note

テキスト制限の場合、各 OLE 項目は 1 文字としてカウントされます。

詳細については、Windows SDK の EM_EXLIMITTEXT に関する記事を参照してください。

// Limit the number of characters to be the maximum number visible.

// Get the text metrics for the edit; needed for the
// average character width.
TEXTMETRIC tm;
CDC *pDC = m_myRichEditCtrl.GetDC();
pDC->GetTextMetrics(&tm);
m_myRichEditCtrl.ReleaseDC(pDC);

CRect r;
m_myRichEditCtrl.GetRect(&r);
m_myRichEditCtrl.LimitText(r.Width() / tm.tmAveCharWidth);

CRichEditCtrl::LineFromChar

指定した文字インデックスを含む行の行番号を取得します。

long LineFromChar(long nIndex) const;

パラメーター

nIndex
編集コントロールのテキスト内の目的の文字の 0 から始まるインデックス値を格納するか、-1 を含みます。 1 の場合 nIndex は、現在の行、つまりキャレットを含む行を指定します。

戻り値

で指定した nIndex文字インデックスを含む行の 0 から始まる行番号。 1 の場合 nIndex は、選択範囲の最初の文字を含む行の番号が返されます。 選択範囲がない場合は、現在の行番号が返されます。

解説

文字インデックスは、リッチ エディット コントロールの先頭からの文字数です。 文字カウントの場合、OLE 項目は 1 文字としてカウントされます。

詳細については、Windows SDK の EM_EXLINEFROMCHAR に関する記事を参照してください。

// The index of the char to get information on.
int nIndex = 11;

CString strText;

m_myRichEditCtrl.GetWindowText(strText);
strText = strText.Mid(nIndex, 1);

// Dump the index, character and line number.
TRACE(_T("nIndex = %d, character = %c, line = %d\r\n"),
      nIndex, strText[0], m_myRichEditCtrl.LineFromChar(nIndex));

CRichEditCtrl::LineIndex

この CRichEditCtrl オブジェクト内の行の文字インデックスを取得します。

int LineIndex(int nLine = -1) const;

パラメーター

nLine
編集コントロールのテキスト内の目的の行のインデックス値を格納するか、-1 を含みます。 1 の場合 nLine は、現在の行、つまりキャレットを含む行を指定します。

戻り値

指定した行番号が編集コントロールの nLine 行数より大きい場合は、-1 で指定された行の文字インデックス。

解説

文字インデックスは、リッチ エディット コントロールの先頭から指定した行までの文字数です。

詳細については、Windows SDK の EM_LINEINDEX に関する記事を参照してください。

// The string for replacing.
LPCTSTR lpszmyString = _T("Hello, I'm the new second line.");

int nBegin, nEnd, nIndex;

// Replace the second line, if it exists, of the rich edit control
// with the text lpszmyString.
nIndex = m_myRichEditCtrl.LineIndex(1);
if ((nBegin = nIndex) != -1)
{
   nEnd = nBegin + m_myRichEditCtrl.LineLength(nIndex);
   m_myRichEditCtrl.SetSel(nBegin, nEnd);
   m_myRichEditCtrl.ReplaceSel(lpszmyString);
}

CRichEditCtrl::LineLength

リッチ エディット コントロール内の行の長さを取得します。

int LineLength(int nLine = -1) const;

パラメーター

nLine
長さを取得する行内の文字の文字インデックスを指定します。 このパラメーターが -1 の場合、現在の行 (キャレットを含む行) の長さが返されます。行内で選択したテキストの長さは含まれません。 1 行の編集コントロールに対して呼び出されると LineLength 、このパラメーターは無視されます。

戻り値

複数行の編集コントロールに対して呼び出された場合LineLength、戻り値は 、 で指定されたnLine行の長さ (inTCHAR) です。 行の末尾に復帰文字は含まれません。 1 行の編集コントロールに対して呼び出されると LineLength 、戻り値は編集コントロール内のテキストの長さ (in TCHAR) になります。 コントロール内の文字数より大きい場合 nLine 、戻り値は 0 になります。

解説

メンバー関数を LineIndex 使用して、この CRichEditCtrl オブジェクト内の特定の行番号の文字インデックスを取得します。

詳細については、Windows SDK の EM_LINELENGTH に関する記事を参照してください。

LineIndex の例を参照してください。

CRichEditCtrl::LineScroll

複数行の編集コントロールのテキストをスクロールします。

void LineScroll(
    int nLines,
    int nChars = 0);

パラメーター

nLines
垂直方向にスクロールする行数を指定します。

nChars
水平方向にスクロールする文字位置の数を指定します。 リッチエディット コントロールにスタイルまたはES_CENTERスタイルがあるES_RIGHT場合、この値は無視されます。 編集スタイル は次で Create指定します。

解説

エディット コントロールは、エディット コントロール内のテキストの最後の行を垂直方向にスクロールしません。 現在の行と指定された nLines 行数が編集コントロールの行の合計数を超える場合、編集コントロールの最後の行がエディット コントロール ウィンドウの上部までスクロールされるように値が調整されます。

LineScroll は、任意の行の最後の文字を水平方向にスクロールするために使用できます。

詳細については、Windows SDK の EM_LINESCROLL に関する記事を参照してください。

GetFirstVisibleLine の例を参照してください。

CRichEditCtrl::Paste

カーソル位置 (キャレットの位置) CRichEditCtrl にクリップボードからデータを挿入します。

void Paste();

解説

データは、クリップボードに認識された形式のデータが含まれている場合にのみ挿入されます。

詳細については、Windows SDK の WM_PASTE に関する記事を参照してください。

// Replace all of the text with the text in the clipboard.
m_myRichEditCtrl.SetSel(0, -1);
m_myRichEditCtrl.Paste();

CRichEditCtrl::PasteSpecial

特定のクリップボード形式のデータをこの CRichEditCtrl オブジェクトに貼り付けます。

void PasteSpecial(
    UINT nClipFormat,
    DWORD dvAspect = 0,
    HMETAFILE hMF = 0);

パラメーター

nClipFormat
この CRichEditCtrl オブジェクトに貼り付けるクリップボード形式。

dvAspect
クリップボードから取得するデータのデバイスの側面。

hMF
貼り付けるオブジェクトのアイコン ビューを含むメタファイルへのハンドル。

解説

新しいマテリアルがカーソル位置(キャレットの位置)に挿入されます。

詳細については、Windows SDK の EM_PASTESPECIAL に関する記事を参照してください。

// Paste the data from the clipboard as text.
m_myRichEditCtrl.PasteSpecial(CF_TEXT);

CRichEditCtrl::PosFromChar

編集コントロール内の指定した文字のクライアント領域座標を取得します。

CPoint PosFromChar(UINT nChar) const;

パラメーター

nChar
文字の 0 から始まるインデックス。

戻り値

文字の位置 (x、y)。 1 行の編集コントロールの場合、y 座標は常に 0 です。

解説

詳細については、Windows SDK の EM_POSFROMCHAR に関する記事を参照してください。

CRichEditCtrl::Redo

コントロールの再実行キューの次のアクションをやり直します。

BOOL Redo();

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

詳細については、Windows SDK の EM_REDO に関する記事を参照してください。

CRichEditCtrl::ReplaceSel

この CRichEditCtrl オブジェクトの現在の選択範囲を、指定したテキストに置き換えます。

void ReplaceSel(
    LPCTSTR lpszNewText,
    BOOL bCanUndo = FALSE);

パラメーター

lpszNewText
置換テキストを含む null で終わる文字列へのポインター。

bCanUndo
この関数を元に戻すことができることを指定するには、このパラメーターの値を TRUE. 既定値は FALSE です。

解説

この CRichEditCtrl オブジェクト内のすべてのテキストを置き換えるには、次を使用 CWnd::SetWindowTextします。

現在選択されていない場合、置換テキストはカーソル位置(現在のキャレット位置)に挿入されます。

この関数は、挿入されたテキストを既存の文字書式で書式設定します。 (呼び出し前に (0,-1) を呼び出SetSelReplaceSelして) テキストの範囲全体を置き換える場合、前の段落の書式を保持する段落の末尾があり、新しく挿入されたテキストによって継承されます。

詳細については、Windows SDK の EM_REPLACESEL に関する記事を参照してください。

LineIndex の例を参照してください。

CRichEditCtrl::RequestResize

この CRichEditCtrl オブジェクトが親ウィンドウに通知メッセージを送信 EN_REQUESTRESIZE するように強制します。

void RequestResize();

解説

この関数は、ボトムレス CRichEditCtrl オブジェクトの処理中にCWnd::OnSize役立ちます。

詳細については、「Windows SDK のEM_REQUESTRESIZEリッチエディット コントロールについて」の「ボトムレスリッチエディットコントロール」セクションを参照してください。

CRichEditCtrl::SetAutoURLDetect

URL を自動的に検出するようにリッチエディット コントロールを設定します。

BOOL SetAutoURLDetect(BOOL bEnable = TRUE);

パラメーター

bEnable
コントロールが URL を自動的に検出するように設定されているかどうかを指定します。 有効な場合 TRUEは有効になります。 の場合 FALSEは無効になります。

戻り値

成功した場合は 0、それ以外の場合は 0 以外。 たとえば、メモリ不足が原因でメッセージが失敗する場合があります。

解説

有効にすると、リッチ エディット コントロールはテキストをスキャンして、標準の URL 形式と一致するかどうかを判断します。 これらの URL 形式の一覧については、Windows SDK を参照してください EM_AUTOURLDETECT

Note

編集コントロールが TRUE URL 以外のテキストに効果をCFE_LINK使用する場合は設定SetAutoURLDetectしないでください。 SetAutoURLDetect は、URL に対してこの効果を有効にし、他のすべてのテキストに対して無効にします。 効果の詳細については、 EN_LINKCFE_LINK 参照してください。

CRichEditCtrl::SetBackgroundColor

この CRichEditCtrl オブジェクトの背景色を設定します。

COLORREF SetBackgroundColor(
    BOOL bSysColor,
    COLORREF cr);

パラメーター

bSysColor
背景色をシステム値に設定する必要があるかどうかを示します。 この値が 、crの場合はTRUE無視されます。

cr
要求された背景色。 次の場合 bSysColor にのみ使用されます FALSE

戻り値

この CRichEditCtrl オブジェクトの前の背景色。

解説

背景色は、システム値または指定した COLORREF 値に設定できます。

詳細については、Windows SDK のメッセージとCOLORREF構造を参照してくださいEM_SETBKGNDCOLOR

// Use red as the background color.
m_myRichEditCtrl.SetBackgroundColor(FALSE, RGB(255, 0, 0));

CRichEditCtrl::SetDefaultCharFormat

この CRichEditCtrl オブジェクトの新しいテキストの文字書式属性を設定します。

BOOL SetDefaultCharFormat(CHARFORMAT& cf);
BOOL SetDefaultCharFormat(CHARFORMAT2& cf);

パラメーター

cf
最初のバージョンでは、新しい既定の CHARFORMAT 文字書式属性を含む構造体へのポインター。

2 番目のバージョンでは、構造体への CHARFORMAT2 ポインター。これは、既定の文字書式属性を含む、構造体の CHARFORMAT Rich Edit 2.0 拡張機能です。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

この関数では、メンバーcfによってdwMask指定された属性のみが変更されます。

詳細については、Windows SDK のEM_SETCHARFORMATメッセージとCHARFORMATCHARFORMAT2構造を参照してください。

CHARFORMAT cf = {0};

// Modify the default character format so that all new
// text is striked out and not bold.
cf.cbSize = sizeof(cf);
cf.dwMask = CFM_STRIKEOUT | CFM_BOLD;
cf.dwEffects = CFE_STRIKEOUT;
m_myRichEditCtrl.SetDefaultCharFormat(cf);

// Verify the settings are what is expected.
m_myRichEditCtrl.GetDefaultCharFormat(cf);
ASSERT((cf.dwMask & (CFM_STRIKEOUT | CFM_BOLD)) ==
       (CFM_STRIKEOUT | CFM_BOLD));
ASSERT((cf.dwEffects & (CFE_STRIKEOUT | CFE_BOLD)) == CFE_STRIKEOUT);

CRichEditCtrl::SetEventMask

この CRichEditCtrl オブジェクトのイベント マスクを設定します。

DWORD SetEventMask(DWORD dwEventMask);

パラメーター

dwEventMask
この CRichEditCtrl オブジェクトの新しいイベント マスク。

戻り値

前のイベント マスク。

解説

イベント マスクは、オブジェクトが親ウィンドウに CRichEditCtrl 送信する通知メッセージを指定します。

詳細については、Windows SDK の EM_SETEVENTMASK に関する記事を参照してください。

// Set the event mask so that the parent gets notified when the text
// of the rich edit control changes.
m_myRichEditCtrl.SetEventMask(m_myRichEditCtrl.GetEventMask() |
                              ENM_CHANGE);

CRichEditCtrl::SetModify

編集コントロールの変更されたフラグを設定またはクリアします。

void SetModify(BOOL bModified = TRUE);

パラメーター

bModified
値は TRUE テキストが変更されたことを示し、値は FALSE 変更されていないことを示します。 既定では、変更されたフラグが設定されます。

解説

変更されたフラグは、編集コントロール内のテキストが変更されたかどうかを示します。 ユーザーがテキストを変更するたびに自動的に設定されます。 その値は、メンバー関数を使用して GetModify 取得できます。

詳細については、Windows SDK の EM_SETMODIFY に関する記事を参照してください。

GetModify の例を参照してください。

CRichEditCtrl::SetOLECallback

この CRichEditCtrl オブジェクトに、OLE 関連の IRichEditOleCallback リソースと情報へのアクセスに使用するオブジェクトを指定します。

BOOL SetOLECallback(IRichEditOleCallback* pCallback);

パラメーター

pCallback
OLE 関連のリソースと情報を IRichEditOleCallback 取得するためにこの CRichEditCtrl オブジェクトが使用するオブジェクトへのポインター。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

このCRichEditCtrlオブジェクトは、で指定された pCallbackCOM オブジェクトの使用数をインクリメントするために呼び出IUnknown::AddRefします。

詳細については、Windows SDK のメッセージとIRichEditOleCallbackインターフェイスを参照してくださいEM_SETOLECALLBACK

CRichEditCtrl::SetOptions

この CRichEditCtrl オブジェクトのオプションを設定します。

void SetOptions(
    WORD wOp,
    DWORD dwFlags);

パラメーター

wOp
操作の種類を示します。 次のいずれかの値です。

  • ECOOP_SET オプションを次で指定 dwFlagsしたオプションに設定します。

  • ECOOP_OR 現在のオプションを次で指定した dwFlagsオプションと組み合わせます。

  • ECOOP_AND で指定されている現在のオプションのみを保持します dwFlags

  • ECOOP_XOR 論理的に排他的か、または現在のオプションで指定されているものを指定します dwFlags

dwFlags
豊富な編集オプション。 フラグの値は、「解説」セクションに記載されています。

解説

オプションには、次の値を組み合わせて使用できます。

  • ECO_AUTOWORDSELECTION ダブルクリック時の単語の自動選択。

  • ECO_AUTOVSCROLL ユーザーが行の末尾に文字を入力すると、テキストを 10 文字だけ右に自動的にスクロールします。 ユーザーが Enter キーを押すと、コントロールはすべてのテキストを 0 の位置までスクロールします。

  • ECO_AUTOHSCROLL ユーザーが最後の行で Enter キーを押すと、テキストが 1 ページ上に自動的にスクロールされます。

  • ECO_NOHIDESEL 編集コントロールの既定の動作を否定します。 既定の動作では、コントロールが入力フォーカスを失ったときに選択範囲が非表示になり、コントロールが入力フォーカスを受け取ったときに選択範囲が表示されます。 指定 ECO_NOHIDESELした場合、コントロールにフォーカスがない場合でも、選択したテキストは反転されます。

  • ECO_READONLY ユーザーが編集コントロールにテキストを入力または編集できないようにします。

  • ECO_WANTRETURN ダイアログ ボックスの複数行のリッチ エディット コントロールにテキストを入力するときに、ユーザーが Enter キーを押したときに復帰を挿入するように指定します。 このスタイルを指定しない場合、Enter キーを押すと、リッチエディット コントロールの親ウィンドウにコマンドが送信されます。これは、親ウィンドウの既定のボタン (ダイアログ ボックスの [OK] ボタンなど) をクリックするのと同じになります。 このスタイルは、1 行の編集コントロールには影響しません。

  • ECO_SAVESEL コントロールがフォーカスを失ったときに選択範囲を保持します。 既定では、フォーカスを取り戻すと、コントロールの内容全体が選択されます。

  • ECO_VERTICAL テキストとオブジェクトを垂直方向に描画します。 アジア言語でのみ使用できます。

詳細については、Windows SDK の EM_SETOPTIONS に関する記事を参照してください。

// Add auto horizontal and vertical scrolling.
m_myRichEditCtrl.SetOptions(ECOOP_OR, ECO_AUTOVSCROLL |
                                          ECO_AUTOHSCROLL);

CRichEditCtrl::SetParaFormat

この CRichEditCtrl オブジェクトの現在の選択範囲の段落書式属性を設定します。

BOOL SetParaFormat(PARAFORMAT& pf);
BOOL SetParaFormat(PARAFORMAT2& pf);

パラメーター

pf
最初のバージョンでは、新しい既定の段落書式属性を含む構造体への PARAFORMAT ポインター。

2 番目のバージョンでは、構造体への PARAFORMAT2 ポインター。これは、既定の文字書式属性を保持する、構造体の PARAFORMAT リッチ エディット 2.0 拡張機能です。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

この関数では、メンバーpfによってdwMask指定された属性のみが変更されます。

詳細については、Windows SDK のEM_SETPARAFORMATメッセージとPARAFORMATPARAFORMAT2構造を参照してください。

PARAFORMAT pf;

// Modify the paragraph format so that the text is centered.
pf.cbSize = sizeof(PARAFORMAT);
pf.dwMask = PFM_ALIGNMENT;
pf.wAlignment = PFA_CENTER;
m_myRichEditCtrl.SetParaFormat(pf);

// Verify the settings are what is expected.
m_myRichEditCtrl.GetParaFormat(pf);
ASSERT(pf.dwMask &PFM_ALIGNMENT);
ASSERT(pf.wAlignment == PFA_CENTER);

CRichEditCtrl::SetPunctuation

リッチ エディット コントロールの句読点を設定します。

BOOL SetPunctuation(
    UINT fType,
    PUNCTUATION* lpPunc);

パラメーター

fType
句読点フラグ。 使用可能な値の一覧については、Windows SDK の fType パラメーター EM_SETPUNCTUATION を参照してください。

lpPunc
Windows SDK で説明されているように、構造体への PUNCTUATION ポインター。

戻り値

成功した場合は 0 以外。それ以外の場合は 0。

解説

このメンバー関数は、オペレーティング システムのアジア言語バージョンでのみ使用できます。

CRichEditCtrl::SetReadOnly

このCRichEditCtrlオブジェクトのECO_READONLYオプションを変更します。

BOOL SetReadOnly(BOOL bReadOnly = TRUE);

パラメーター

bReadOnly
この CRichEditCtrl オブジェクトを読み取り専用にする必要があるかどうかを示します。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

このオプションの簡単な説明については、「.」を参照してください SetOptions。 この関数を使用して、この CRichEditCtrl オブジェクトのすべてのオプションを設定できます。

詳細については、Windows SDK の EM_SETREADONLY に関する記事を参照してください。

// Set the rich edit control to be read-only.
m_myRichEditCtrl.SetReadOnly(TRUE);
ASSERT(m_myRichEditCtrl.GetStyle() & ES_READONLY);

CRichEditCtrl::SetRect

この CRichEditCtrl オブジェクトの書式設定の四角形を設定します。

void SetRect(LPCRECT lpRect);

パラメーター

lpRect
CRect または、書式設定する四角形の新しい境界を示す a RECT へのポインター。

解説

書式設定の四角形は、テキストの制限する四角形です。 制限する四角形は、リッチ エディット コントロール ウィンドウのサイズに依存しません。 この CRichEditCtrl オブジェクトが最初に作成されるとき、書式設定の四角形はウィンドウのクライアント領域と同じサイズになります。 書式設定の四角形をリッチエディット ウィンドウよりも大きくまたは小さくするために使用 SetRect します。

詳細については、Windows SDK の EM_SETRECT に関する記事を参照してください。

CRect r;

m_myRichEditCtrl.GetRect(&r);

// Reduce the formatting rect of the rich edit control by
// 10 pixels on each side.
if ((r.Width() > 20) && (r.Height() > 20))
{
   r.DeflateRect(0, 20);
   m_myRichEditCtrl.SetRect(&r);
}

CRichEditCtrl::SetSel

このオブジェクト内の選択範囲を CRichEditCtrl 設定します。

void SetSel(
    long nStartChar,
    long nEndChar);

void SetSel(CHARRANGE& cr);

パラメーター

nStartChar
選択範囲の最初の文字の 0 から始まるインデックス。

nEndChar
選択範囲の最後の文字の 0 から始まるインデックス。

cr
CHARRANGE 現在の選択範囲の境界を保持する構造体。

解説

この関数の 2 つの形式は、選択範囲の境界を設定する別の方法を提供します。 これらのフォームの簡単な説明は次のとおりです。

  • SetSel(cr) このフォームでは、構造体cpMinとそのcpMaxメンバーをCHARRANGE使用して境界を設定します。

  • SetSel(nStartChar,nEndChar) このフォームでは、パラメーターnStartCharnEndChar を使用して境界を設定します。

キャレットは、選択範囲の末尾に、開始 (または) インデックスと終了 (cpMincpMaxまたはnStartCharnEndChar) インデックスの大きい方で示されます。 この関数は、キャレットが表示されるように、その内容 CRichEditCtrl をスクロールします。

この CRichEditCtrl オブジェクト内のすべてのテキストを選択するには、開始インデックス 0 と終了インデックス - 1 を指定して呼び出 SetSel します。

詳細については、Windows SDK のメッセージとCHARRANGE構造を参照してくださいEM_EXSETSEL

GetSel の例を参照してください。

CRichEditCtrl::SetSelectionCharFormat

この CRichEditCtrl オブジェクトの現在の選択範囲のテキストの文字書式属性を設定します。

BOOL SetSelectionCharFormat(CHARFORMAT& cf);
BOOL SetSelectionCharFormat(CHARFORMAT2& cf);

パラメーター

cf
最初のバージョンでは、現在の選択範囲の新しい文字書式属性を含む構造体へのポインター CHARFORMAT

2 番目のバージョンでは、構造体への CHARFORMAT2 ポインター。これは、現在の選択範囲の新しい文字書式属性を含む、構造体のリッチ エディット 2.0 拡張機能 CHARFORMAT です。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

cf のメンバーによってdwMask指定された属性のみが、この関数によって変更されます。

詳細については、Windows SDK のEM_SETCHARFORMAT詳細とCHARFORMATCHARFORMAT2構造を参照してください。

CHARFORMAT cf;

// Modify the selection format so that the selected text is
// displayed in bold and not striked out.
cf.cbSize = sizeof(cf);
cf.dwMask = CFM_STRIKEOUT | CFM_BOLD;
cf.dwEffects = CFE_BOLD;
m_myRichEditCtrl.SetSelectionCharFormat(cf);

// Verify the settings are what is expected.
m_myRichEditCtrl.GetSelectionCharFormat(cf);
ASSERT((cf.dwMask & (CFM_STRIKEOUT | CFM_BOLD)) ==
       (CFM_STRIKEOUT | CFM_BOLD));
ASSERT((cf.dwEffects & (CFE_STRIKEOUT | CFE_BOLD)) == CFE_BOLD);

CRichEditCtrl::SetTargetDevice

この CRichEditCtrl オブジェクトの WYSIWYG (表示される内容) の書式設定に使用されるターゲット デバイスと行幅を設定します。

BOOL SetTargetDevice(
    HDC hDC,
    long lLineWidth);

BOOL SetTargetDevice(
    CDC& dc,
    long lLineWidth);

パラメーター

hDC
新しいターゲット デバイスのデバイス コンテキストを処理します。

lLineWidth
書式設定に使用する線の幅。

dc
CDC 新しいターゲット デバイスの場合は〘。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

この関数が成功した場合、リッチ エディット コントロールは、パラメーターとして渡されたデバイス コンテキストを所有します。 その場合、呼び出し元の関数はデバイス コンテキストを破棄しないでください。

詳細については、Windows SDK の EM_SETTARGETDEVICE に関する記事を参照してください。

// First obtain a pointer to a printer DC.
CPageSetupDialog psDlg;
if (IDOK == psDlg.DoModal())
{
   CDC *pMyPrinterDC = CDC::FromHandle(psDlg.CreatePrinterDC());

   // Get line width information from the printer.
   long lLineWidth = ::MulDiv(pMyPrinterDC->GetDeviceCaps(PHYSICALWIDTH),
                              1440, pMyPrinterDC->GetDeviceCaps(LOGPIXELSX));

   // Set the printer as the target device.
   m_myRichEditCtrl.SetTargetDevice(*pMyPrinterDC, lLineWidth);

   pMyPrinterDC->DeleteDC();
}

CRichEditCtrl::SetTextMode

リッチ エディット コントロールのテキスト モードまたは元に戻す、やり直しのレベルを設定します。

BOOL SetTextMode(UINT fMode);

パラメーター

fMode
コントロールのテキスト モードと元に戻すレベルのパラメーターの新しい設定を指定します。 使用可能な値の一覧については、Windows SDK の mode パラメーター EM_SETTEXTMODE を参照してください。

戻り値

成功した場合は 0、それ以外の場合は 0 以外。

解説

テキスト モードの詳細については、Windows SDK を参照してください EM_SETTEXTMODE

コントロールにテキストが含まれている場合、このメンバー関数は失敗します。 コントロールが空であることを確認するには、空の文字列を含む WM_SETTEXT メッセージを送信します。

CRichEditCtrl::SetUndoLimit

元に戻すキューに格納できるアクションの最大数を設定します。

UINT SetUndoLimit(UINT nLimit);

パラメーター

nLimit
元に戻すキューに格納できるアクションの最大数を指定します。 元に戻すを無効にするには、0 に設定します。

戻り値

リッチ エディット コントロールの元に戻す操作の新しい最大数。

解説

既定では、元に戻すキュー内のアクションの最大数は 100 です。 この数を増やす場合は、新しい数に対応できる十分なメモリが必要です。 パフォーマンスを向上させるには、制限を可能な限り小さい値に設定します。

CRichEditCtrl::SetWordCharFormat

この CRichEditCtrl オブジェクトで現在選択されている単語の文字書式属性を設定します。

BOOL SetWordCharFormat(CHARFORMAT& cf);
BOOL SetWordCharFormat(CHARFORMAT2& cf);

パラメーター

cf
最初のバージョンでは、現在選択されている単語の新しい文字書式属性を含む構造体へのポインター CHARFORMAT

2 番目のバージョンでは、構造体への CHARFORMAT2 ポインター。これは、現在選択されている単語の新しい文字書式属性を含む、構造のリッチ エディット 2.0 拡張機能 CHARFORMAT です。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

この関数では、メンバーcfによってdwMask指定された属性のみが変更されます。

詳細については、Windows SDK のEM_SETCHARFORMATメッセージとCHARFORMATCHARFORMAT2構造を参照してください。

CHARFORMAT cf;

// Modify the word format so that the selected word is
// displayed in bold and not striked out.
cf.cbSize = sizeof(cf);
cf.dwMask = CFM_STRIKEOUT | CFM_BOLD;
cf.dwEffects = CFE_BOLD;
m_myRichEditCtrl.SetWordCharFormat(cf);

CRichEditCtrl::SetWordWrapMode

リッチ エディット コントロールの単語折り返しオプションと単語区切りオプションを設定します。

UINT SetWordWrapMode(UINT uFlags) const;

パラメーター

uFlags
単語の折り返しと改行に設定するオプション。 使用可能なオプションの一覧については、Windows SDK を参照してください EM_SETWORDWRAPMODE

戻り値

現在の単語折り返しオプションと単語区切りオプション。

解説

このメッセージは、オペレーティング システムのアジア言語バージョンでのみ使用できます。

CRichEditCtrl::StopGroupTyping

コントロールが現在の元に戻す操作に追加の入力操作を収集しないようにします。

void StopGroupTyping();

解説

コントロールは、次の入力操作 (ある場合) を元に戻すキューの新しいアクションに格納します。

詳細については、Windows SDK の EM_STOPGROUPTYPING に関する記事を参照してください。

CRichEditCtrl::StreamIn

この CRichEditCtrl オブジェクト内のテキストを、指定した入力ストリームのテキストに置き換えます。

long StreamIn(
    int nFormat,
    EDITSTREAM& es);

パラメーター

nFormat
入力データ形式を指定するフラグ。 詳細については、次の「解説」を参照してください。

es
EDITSTREAM 入力ストリームを指定する構造体。 詳細については、次の「解説」を参照してください。

戻り値

入力ストリームから読み取られた文字数。

解説

nFormat は、次のいずれかである必要があります。

  • SF_TEXT テキストの読み取りのみを示します。

  • SF_RTF テキストの読み取りと書式設定を示します。

これらの値のいずれかを組み合わせることができます SFF_SELECTION。 指定した場合 SFF_SELECTION は、 StreamIn 現在の選択範囲を入力ストリームの内容に置き換えます。 指定されていない場合は、 StreamIn この CRichEditCtrl オブジェクトの内容全体を置き換えます。

パラメーターesではEDITSTREAM、バッファーにテキストを格納するコールバック関数を指定します。 このコールバック関数は、入力ストリームが使い果たされるまで繰り返し呼び出されます。

詳細については、Windows SDK のメッセージとEDITSTREAM構造を参照してくださいEM_STREAMIN

// My callback procedure that reads the rich edit control contents
// from a file.
static DWORD CALLBACK 
MyStreamInCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
   CFile* pFile = (CFile*) dwCookie;

   *pcb = pFile->Read(pbBuff, cb);

   return 0;
}

 

// The example code.

// The file from which to load the contents of the rich edit control.
CFile cFile(TEXT("My_RichEdit_InFile.rtf"), CFile::modeRead);
EDITSTREAM es;

es.dwCookie = (DWORD)&cFile;
es.pfnCallback = MyStreamInCallback;
m_myRichEditCtrl.StreamIn(SF_RTF, es);

CRichEditCtrl::StreamOut

この CRichEditCtrl オブジェクトの内容を指定された出力ストリームに書き込みます。

long StreamOut(
    int nFormat,
    EDITSTREAM& es);

パラメーター

nFormat
出力データ形式を指定するフラグ。 詳細については、次の「解説」を参照してください。

es
EDITSTREAM 出力ストリームを指定する構造体。 詳細については、次の「解説」を参照してください。

戻り値

出力ストリームに書き込まれた文字数。

解説

nFormat は、次のいずれかである必要があります。

  • SF_TEXT テキストの書き込みのみを示します。

  • SF_RTF テキストの書き込みと書式設定を示します。

  • SF_RTFNOOBJS OLE 項目をスペースに置き換えて、テキストと書式設定を記述することを示します。

  • SF_TEXTIZED OLE アイテムのテキスト表現を使用して、テキストの書き込みと書式設定を示します。

これらの値は、いずれも .SFF_SELECTION 指定した場合 SFF_SELECTION は、 StreamOut 現在の選択範囲を出力ストリームに書き込みます。 指定されていない場合は、 StreamOut この CRichEditCtrl オブジェクトの内容全体を書き出します。

EDITSTREAMこのパラメーターesでは、バッファーにテキストを格納するコールバック関数を指定します。 このコールバック関数は、出力ストリームが使い果たされるまで繰り返し呼び出されます。

詳細については、Windows SDK のメッセージとEDITSTREAM構造を参照してくださいEM_STREAMOUT

// My callback procedure that writes the rich edit control contents
// to a file.
static DWORD CALLBACK 
MyStreamOutCallback(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
   CFile* pFile = (CFile*) dwCookie;

   pFile->Write(pbBuff, cb);
   *pcb = cb;

   return 0;
}

 

// The example code.

// The file to store the contents of the rich edit control.
CFile cFile(TEXT("My_RichEdit_OutFile.rtf"),
            CFile::modeCreate | CFile::modeWrite);
EDITSTREAM es;

es.dwCookie = (DWORD)&cFile;
es.pfnCallback = MyStreamOutCallback;
m_myRichEditCtrl.StreamOut(SF_RTF, es);

CRichEditCtrl::Undo

リッチ エディット コントロールの最後の操作を元に戻します。

BOOL Undo();

戻り値

元に戻す操作が成功した場合は 0 以外。それ以外の場合は 0。

解説

元に戻す操作は元に戻すこともできます。 たとえば、最初の呼び出しで削除されたテキストを Undo復元できます。 中間編集操作がない限り、2 回目の呼び出し Undoでテキストを削除できます。

詳細については、Windows SDK の EM_UNDO に関する記事を参照してください。

CanUndo の例を参照してください。

関連項目

MFC サンプル ワードパッド
CWnd クラス
階層図
CEdit クラス
CRichEditView クラス