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 |
リッチ エディット コントロールの word-wrapping と word-breaking オプションを設定します。 このメッセージは、オペレーティング システムのアジア言語バージョンでのみ使用できます。 |
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、またはダイアログ ベースのいずれであるかに関係なく)、ダイアログ ボックスを表示する前に、 AfxInitRichEdit
を 1 回呼び出す必要があります。 この関数を呼び出す一般的な場所は、プログラムの InitInstance
メンバー関数です。 ダイアログ ボックスを表示するたびに、このメソッドを呼び出す必要はなく、最初のみ呼び出す必要があります。 CRichEditView
を使用する場合は、AfxInitRichEdit
Kを呼び出す必要はありません。
CRichEditCtrl
の使用方法の詳細については、以下を参照してください。
MFC アプリケーションでリッチ エディット コントロールを使用する例については、 WORDPAD サンプル アプリケーションを参照してください。
継承階層
CRichEditCtrl
要件
ヘッダー: afxcmn.h
CRichEditCtrl::CanPaste
リッチ エディット コントロールで、指定したクリップボード形式を貼り付けることができるかどうかを判断します。
BOOL CanPaste(UINT nFormat = 0) const;
パラメーター
nFormat
クエリを実行するクリップボード のデータ形式。 このパラメーターには、定義済みのクリップボード形式のいずれか、または RegisterClipboardFormat
によって返される値を指定できます。
戻り値
クリップボード形式を貼り付けることができる場合は 0 以外。それ以外の場合は 0。
解説
nFormat
が 0 の場合、CanPaste
は現在クリップボードにある任意の形式を試します。
詳細については、Windows SDK EM_CANPASTE
メッセージと RegisterClipboardFormat
関数に関する説明を参照してください。
例
// 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;
戻り値
Undo
メンバー関数の呼び出しによって最後の編集操作を元に戻すことができる場合は 0 以外。元に戻すことができない場合は 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
編集コントロールのスタイルを指定します。 以下の「Remarks」セクションに記載されているウィンドウ スタイルの組み合わせを適用し、Windows SDK で説明するコントロール スタイル編集します。
rect
編集コントロールのサイズと位置を指定します。 CRect
オブジェクトまたはRECT
構造体を指定できます。
pParentWnd
エディット コントロールの親ウィンドウ (多くの場合、 CDialog
) を指定します。 NULL
することはできません。
nID
編集コントロールの ID を指定します。
戻り値
初期化が成功した場合は 0 以外。それ以外の場合は 0。
解説
CRichEditCtrl
オブジェクトは、2 つの手順で作成します。 まず、 CRichEditCtrl
コンストラクターを呼び出してから、 Create
を呼び出します。これにより、Windows 編集コントロールが作成され、 CRichEditCtrl
オブジェクトにアタッチされます。
この関数を使用してリッチ エディット コントロールを作成する場合は、まず、必要な共通コントロール ライブラリを読み込む必要があります。 ライブラリを読み込むには、グローバル関数 AfxInitRichEdit
を呼び出し、次に共通コントロール ライブラリを初期化します。 プロセスで 1 回だけ AfxInitRichEdit
を呼び出す必要があります。
Create
実行すると、Windows はWM_NCCREATE
、WM_NCCALCSIZE
、WM_CREATE
、およびWM_GETMINMAXINFO
メッセージを編集コントロールに送信します。
これらのメッセージは、既定では、CWnd
基底クラスのOnNcCreate
、OnNcCalcSize
、OnCreate
、およびOnGetMinMaxInfo
メンバー関数によって処理されます。 既定のメッセージ処理を拡張するには、 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 のCreateWindowEx
の dwExStyle
パラメーターを参照してください。
dwStyle
編集コントロールのスタイルを指定します。 Windows SDK で説明されている、Create
コントロール スタイルと編集コントロール スタイルのRemarks セクションに記載されているウィンドウ スタイルの組み合わせを適用します。
rect
pParentWnd
のクライアント座標で、作成するウィンドウのサイズと位置を記述するRECT
構造体への参照。
pParentWnd
コントロールの親であるウィンドウへのポインター。
nID
コントロールの子ウィンドウ ID。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
Create
ではなくCreateEx
を使用して、Windows 拡張スタイルの前置WS_EX_
で指定された拡張 Windows スタイルを適用します。
CRichEditCtrl::CRichEditCtrl
CRichEditCtrl
オブジェクトを構築します。
CRichEditCtrl();
解説
Create
を使用して、Windows リッチ エディット コントロールを構築します。
例
// 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
以前に FormatRange
で書式設定されたリッチ エディット コントロール (テキストおよび OLE アイテム) の内容の一部を表示します。
BOOL DisplayBand(LPRECT pDisplayRect);
パラメーター
pDisplayRect
テキストを表示するデバイスの領域を指定する RECT
または CRect
オブジェクトへのポインター。
戻り値
書式設定されたテキストの表示が成功した場合は 0 以外、それ以外の場合は 0。
解説
テキストと OLE 項目は、ポインター pDisplayRect
で指定された領域にクリップされます。
詳細については、Windows SDK の EM_DISPLAYBAND
に関する記事を参照してください。
例
CRichEditCtrl::FormatRange
の例を参照してください。
CRichEditCtrl::EmptyUndoBuffer
このリッチ エディット コントロールの元に戻すフラグをリセット (クリア) します。
void EmptyUndoBuffer();
解説
コントロールは、最後の編集操作を元に戻すことができなくなります。 元に戻すフラグは、リッチ エディット コントロール内の操作を元に戻すことができるたびに設定されます。
元に戻すフラグは、 CWnd
メンバー関数 SetWindowText
を呼び出すたびに自動的にクリアされます。
詳細については、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。
解説
FINDTEXTEX
構造内のCHARRANGE
構造で適切な範囲パラメーターを設定することで、上下を検索できます。
詳細については、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 のEM_FINDWORDBREAK
のパラメーター code
の説明を参照してください。
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
構造体に対する Rich Edit 2.0 拡張機能です。
戻り値
cf
のdwMask
データ メンバー。 既定の文字書式属性を指定しました。
解説
詳細については、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
オブジェクトの OLE 機能にアクセスするために使用できるIRichEditOle
インターフェイスへのポインター。インターフェイスにアクセスできない場合に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
構造体に対する Rich Edit 2.0 拡張機能です。
戻り値
pf
のdwMask
データ メンバー。 現在の選択範囲全体で一貫した段落書式属性を指定します。
解説
複数の段落が選択されている場合、 pf
は最初に選択した段落の属性を受け取ります。 戻り値は、選択全体で一貫性のある属性を指定します。
詳細については、Windows SDK の EM_GETPARAFORMAT
メッセージと PARAFORMAT
および PARAFORMAT2
の構造を参照してください。
例
CRichEditCtrl::SetParaFormat
の例を参照してください。
CRichEditCtrl::GetPunctuation
リッチ エディット コントロールの現在の句読点文字を取得します。
BOOL GetPunctuation(
UINT fType,
PUNCTUATION* lpPunc) const;
パラメーター
fType
Windows SDK のEM_GETPUNCTUATION
のfType
パラメーターで説明されているように、句読点の種類フラグ。
lpPunc
Windows SDK で説明されているように、 PUNCTUATION
構造体へのポインター。
戻り値
操作が成功した場合は 0 以外、それ以外の場合は 0。
解説
このメンバー関数は、オペレーティング システムのアジア言語バージョンでのみ使用できます。
CRichEditCtrl::GetRect
この CRichEditCtrl
オブジェクトの書式設定四角形を取得します。
void GetRect(LPRECT lpRect) const;
パラメーター
lpRect
CRect
または、このCRichEditCtrl
オブジェクトの書式設定の四角形を受け取る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
) このフォームでは、cpMin
およびcpMax
メンバーを持つCHARRANGE
構造体を使用して境界を返します。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
構造体へのポインター。これは、現在の選択範囲の文字書式属性を受け取る CHARFORMAT
構造体の Rich Edit 2.0 拡張機能です。
戻り値
cf
のdwMask
データ メンバー。 現在の選択範囲全体で一貫性のある文字書式属性を指定します。
解説
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
この CRichEditCtrl
オブジェクト内のテキストの長さを、終端の null 文字を含まない文字で取得します。
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 で説明されている GETTEXTLENGTHEX
の flags メンバーに記載されている 1 つ以上の値を指定できます。
uCodePage
翻訳用のコード ページ (ANSI コード ページのCP_ACP
、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 を含みます。 nIndex
が -1 の場合、現在の行、つまりキャレットを含む行を指定します。
戻り値
nIndex
で指定された文字インデックスを含む行の 0 から始まる行番号。 nIndex
が -1 の場合は、選択範囲の最初の文字を含む行の番号が返されます。 選択範囲がない場合は、現在の行番号が返されます。
解説
文字インデックスは、リッチ エディット コントロールの先頭からの文字数です。 文字カウントの場合、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 を含みます。 nLine
が -1 の場合、現在の行、つまりキャレットを含む行を指定します。
戻り値
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
で指定された行の長さ (TCHAR
) になります。 行の末尾に復帰文字は含まれません。 単一行の編集コントロールに対して LineLength
が呼び出されると、戻り値は編集コントロール内のテキストの長さ ( TCHAR
) になります。 nLine
がコントロール内の文字数より大きい場合、戻り値は 0 になります。
解説
LineIndex
メンバー関数を使用して、このCRichEditCtrl
オブジェクト内の特定の行番号の文字インデックスを取得します。
詳細については、Windows SDK の EM_LINELENGTH
に関する記事を参照してください。
例
LineIndex
の例を参照してください。
CRichEditCtrl::LineScroll
複数行の編集コントロールのテキストをスクロールします。
void LineScroll(
int nLines,
int nChars = 0);
パラメーター
nLines
垂直方向にスクロールする行数を指定します。
nChars
水平方向にスクロールする文字位置の数を指定します。 リッチ エディット コントロールに ES_RIGHT
または ES_CENTER
スタイルがある場合、この値は無視されます。 スタイルの編集 は 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
を使用します。
現在選択されていない場合、置換テキストはカーソル位置(現在のキャレット位置)に挿入されます。
この関数は、挿入されたテキストを既存の文字書式で書式設定します。 (ReplaceSel
を呼び出す前に SetSel
(0,-1) を呼び出して) テキストの範囲全体を置き換える場合、前の段落の書式を保持する段落の末尾があり、新しく挿入されたテキストによって継承されます。
詳細については、Windows SDK の EM_REPLACESEL
に関する記事を参照してください。
例
LineIndex
の例を参照してください。
CRichEditCtrl::RequestResize
この CRichEditCtrl
オブジェクトが EN_REQUESTRESIZE
通知メッセージを親ウィンドウに送信するように強制します。
void RequestResize();
解説
この関数は、ボトムレス CRichEditCtrl
オブジェクトのCWnd::OnSize
処理中に役立ちます。
詳細については、Windows SDK の EM_REQUESTRESIZE
メッセージと Bottomless Rich Edit Controls About Rich Edit Controls のセクションを参照してください。
CRichEditCtrl::SetAutoURLDetect
URL を自動的に検出するようにリッチエディット コントロールを設定します。
BOOL SetAutoURLDetect(BOOL bEnable = TRUE);
パラメーター
bEnable
コントロールが URL を自動的に検出するように設定されているかどうかを指定します。 TRUE
場合は有効になります。 FALSE
場合は無効になります。
戻り値
成功した場合は 0、それ以外の場合は 0 以外。 たとえば、メモリ不足が原因でメッセージが失敗する場合があります。
解説
有効にすると、リッチ エディット コントロールはテキストをスキャンして、標準の URL 形式と一致するかどうかを判断します。 これらの URL 形式の一覧については、Windows SDK の EM_AUTOURLDETECT
を参照してください。
Note
編集コントロールが URL 以外のテキストにCFE_LINK
効果を使用する場合は、SetAutoURLDetect
をTRUE
に設定しないでください。 SetAutoURLDetect
は、URL に対してこの効果を有効にし、他のすべてのテキストに対して無効にします。 CFE_LINK
効果の詳細については、EN_LINKを参照してください。
CRichEditCtrl::SetBackgroundColor
この CRichEditCtrl
オブジェクトの背景色を設定します。
COLORREF SetBackgroundColor(
BOOL bSysColor,
COLORREF cr);
パラメーター
bSysColor
背景色をシステム値に設定する必要があるかどうかを示します。 この値が TRUE
の場合、 cr
は無視されます。
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 番目のバージョンでは、既定の文字書式属性を含む、CHARFORMAT
構造体に対する Rich Edit 2.0 拡張機能であるCHARFORMAT2
構造体へのポインター。
戻り値
正常終了した場合は 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
このCRichEditCtrl
オブジェクトが OLE 関連のリソースと情報を取得するために使用するIRichEditOleCallback
オブジェクトへのポインター。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
この CRichEditCtrl
オブジェクトは IUnknown::AddRef
を呼び出して、 pCallback
で指定された COM オブジェクトの使用数をインクリメントします。
詳細については、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
構造体に対する Rich Edit 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 のEM_SETPUNCTUATION
の fType
パラメーターを参照してください。
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
または、書式設定する四角形の新しい境界を示す 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
または nStartChar
) および終了 (cpMax
または 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
構造体へのポインター。これは、現在の選択範囲の新しい文字書式属性を含む、 CHARFORMAT
構造体の Rich Edit 2.0 拡張機能です。
戻り値
正常終了した場合は 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 の EM_SETTEXTMODE
の mode パラメーターを参照してください。
戻り値
成功した場合は 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
構造体へのポインター。これは、現在選択されている単語の新しい文字書式属性を含む、 CHARFORMAT
構造体の Rich Edit 2.0 拡張機能です。
戻り値
正常終了した場合は 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
リッチ エディット コントロールの word-wrapping と word-breaking オプションを設定します。
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
オブジェクトの内容全体を置き換えます。
EDITSTREAM
パラメーター es
では、バッファーにテキストを格納するコールバック関数を指定します。 このコールバック関数は、入力ストリームが使い果たされるまで繰り返し呼び出されます。
詳細については、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
の最初の呼び出しで削除されたテキストを復元できます。 介入する編集操作がない限り、 Undo
の 2 回目の呼び出しでテキストをもう一度削除できます。
詳細については、Windows SDK の EM_UNDO
に関する記事を参照してください。
例
CanUndo
の例を参照してください。