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
を使用する場合は、AfxInitRichEdit
Kを呼び出す必要はありません。
使用 CRichEditCtrl
の詳細については、以下を参照してください。
MFC アプリケーションでリッチ エディット コントロールを使用する例については、ワードパッドのサンプル アプリケーションを参照してください。
継承階層
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
処理されます。 OnCreate
OnNcCalcSize
OnNcCreate
既定のメッセージ処理を拡張するには、クラスを 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 のパラメーター code
EM_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
、戻り値は、このCRichEditCtrl
CRichEditCtrl
オブジェクトの最後の文字の直前の文字位置の座標を指定します。
詳細については、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
メッセージとCHARFORMAT
CHARFORMAT2
構造を参照してください。
例
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
メッセージとPARAFORMAT
PARAFORMAT2
構造を参照してください。
例
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
メンバーをCHARRANGE
cpMin
使用して境界が返されます。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
メッセージとCHARFORMAT
CHARFORMAT2
構造を参照してください。
例
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
選択範囲の可視性のこの変更を永続的にする必要があるかどうかを示します。
解説
この場合bPerm
、TRUE
この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) を呼び出SetSel
ReplaceSel
して) テキストの範囲全体を置き換える場合、前の段落の書式を保持する段落の末尾があり、新しく挿入されたテキストによって継承されます。
詳細については、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_LINK を CFE_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
メッセージとCHARFORMAT
CHARFORMAT2
構造を参照してください。
例
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
オブジェクトは、で指定された pCallback
COM オブジェクトの使用数をインクリメントするために呼び出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
メッセージとPARAFORMAT
PARAFORMAT2
構造を参照してください。
例
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
) このフォームでは、パラメーターnStartChar
と nEndChar を使用して境界を設定します。
キャレットは、選択範囲の末尾に、開始 (または) インデックスと終了 (cpMin
cpMax
またはnStartChar
nEndChar
) インデックスの大きい方で示されます。 この関数は、キャレットが表示されるように、その内容 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
詳細とCHARFORMAT
CHARFORMAT2
構造を参照してください。
例
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
メッセージとCHARFORMAT
CHARFORMAT2
構造を参照してください。
例
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
の例を参照してください。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示