CRichEditView クラス
CRichEditDoc と CRichEditCntrItem を使用すると、MFC のドキュメント ビュー アーキテクチャのコンテキスト内でリッチエディット コントロールの機能が提供されます。
構文
class CRichEditView : public CCtrlView
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CRichEditView::CRichEditView | CRichEditView オブジェクトを構築します。 |
パブリック メソッド
保護メソッド
名前 | 説明 |
---|---|
CRichEditView::GetClipboardData | このリッチ エディット ビューの範囲の Clipboard オブジェクトを取得します。 |
CRichEditView::GetContextMenu | マウスの右ボタンダウンで使用するコンテキスト メニューを取得します。 |
CRichEditView::IsSelected | 指定した OLE 項目が選択されているかどうかを示します。 |
CRichEditView::OnFindNext | 次に出現する部分文字列を検索します。 |
CRichEditView::OnInitialUpdate | 最初にドキュメントに添付されたときにビューを更新します。 |
CRichEditView::OnPasteNativeObject | OLE アイテムからネイティブ データを取得します。 |
CRichEditView::OnPrinterChanged | 特定のデバイスに印刷特性を設定します。 |
CRichEditView::OnReplaceAll | 指定された文字列のすべての出現箇所を新しい文字列に置き換えます。 |
CRichEditView::OnReplaceSel | 現在の選択範囲を置き換えます。 |
CRichEditView::OnTextNotFound | 要求されたテキストが見つからなかったことを示すユーザー通知を処理します。 |
CRichEditView::QueryAcceptData | 上のデータ IDataObject について確認するクエリ。 |
CRichEditView::WrapChanged | の値 m_nWordWrap に基づいて、このリッチ エディット ビューのターゲット出力デバイスを調整します。 |
パブリック データ メンバー
名前 | 説明 |
---|---|
CRichEditView::m_nBulletIndent | 箇条書きのインデントの量を示します。 |
CRichEditView::m_nWordWrap | ワード ラップ制約を示します。 |
解説
"リッチ エディット コントロール" は、ユーザーがテキストを入力および編集できるウィンドウです。 テキストには、文字や段落の書式を割り当てることができ、埋め込み OLE オブジェクトを含めることができます。 リッチ エディット コントロールは、テキストを書式設定するためのプログラミング インターフェイスを提供します。 ただし、アプリケーションは、ユーザーが書式設定操作を使用できるようにするために必要なユーザー インターフェイス コンポーネントを実装する必要があります。
CRichEditView
は、テキストとその書式設定の特性を保持します。 CRichEditDoc
メインビュー内にある OLE クライアント項目の一覧が含まれます。 CRichEditCntrItem
は、OLE クライアント アイテムに対するコンテナー側のアクセスを提供します。
この Windows 共通コントロール (したがって 、CRichEditCtrl および関連クラス) は、Windows 95/98 および Windows NT バージョン 3.51 以降で実行されているプログラムでのみ使用できます。
MFC アプリケーションでリッチエディット ビューを使用する例については、WORDPAD サンプル アプリケーションを参照してください。
継承階層
CRichEditView
必要条件
ヘッダー: afxrich.h
CRichEditView::AdjustDialogPosition
この関数を呼び出して、指定されたダイアログ ボックスを移動して、現在の選択範囲が隠されないようにします。
void AdjustDialogPosition(CDialog* pDlg);
パラメーター
pDlg
CDialog
オブジェクトを指すポインター。
CRichEditView::CanPaste
この関数を呼び出して、クリップボードにこのリッチ エディット ビューに貼り付けることができる情報が含まれているかどうかを確認します。
BOOL CanPaste() const;
戻り値
クリップボードに、このリッチ エディット ビューで受け入れ可能な形式のデータが含まれている場合は 0 以外。それ以外の場合は 0。
CRichEditView::CRichEditView
オブジェクトを作成するには、この関数を CRichEditView
呼び出します。
CRichEditView();
CRichEditView::D oPaste
この関数を呼び出して、dataobj 内の OLE 項目をこのリッチ エディット ドキュメント/ビューに貼り付けます。
void DoPaste(
COleDataObject& dataobj,
CLIPFORMAT cf,
HMETAFILEPICT hMetaPict);
パラメーター
dataobj
貼り付けるデータを含む COleDataObject。
cf
目的のクリップボード形式。
hMetaPict
貼り付ける項目を表すメタファイル。
解説
フレームワークは、QueryAcceptData の既定の実装の 一部としてこの関数を呼び出します。
この関数は、Paste Special のハンドラーの結果に基づいて、貼り付けの種類を決定します。 cf が 0 の場合、新しい項目は現在のアイコン表現を使用します。 cf が 0 以外で、hMetaPict が NULL でない場合、新しい項目はその表現に hMetaPict を使用します。
CRichEditView::FindText
この関数を呼び出して、指定したテキストを検索し、現在の選択範囲に設定します。
BOOL FindText(
LPCTSTR lpszFind,
BOOL bCase = TRUE,
BOOL bWord = TRUE,
BOOL bNext = TRUE);
パラメーター
lpszFind
検索する文字列を格納します。
bCase
検索で大文字と小文字が区別されるかどうかを示します。
bWord
検索が単語の一部ではなく、単語全体にのみ一致するかどうかを示します。
Bnext
検索の方向を示します。 TRUE の場合、検索方向はバッファーの末尾に向かって行います。 FAL Standard Edition の場合、検索方向はバッファーの先頭に向かって行います。
戻り値
lpszFind テキストが見つかった場合は 0 以外、それ以外の場合は 0。
解説
この関数は、検索操作中に待機カーソルを表示します。
例
void CMyRichEditView::OnReplaceAll(LPCTSTR lpszFind, LPCTSTR lpszReplace,
BOOL bCase, BOOL bWord)
{
CWaitCursor wait;
// no selection or different than what we are looking for
if (!FindText(lpszFind, bCase, bWord))
{
OnTextNotFound(lpszFind);
return;
}
GetRichEditCtrl().HideSelection(TRUE, FALSE);
m_nNumReplaced = 0;
do
{
GetRichEditCtrl().ReplaceSel(lpszReplace);
m_nNumReplaced++; // Record the number of replacements
} while (FindTextSimple(lpszFind));
GetRichEditCtrl().HideSelection(FALSE, FALSE);
}
CRichEditView::FindTextSimple
この関数を呼び出して、指定したテキストを検索し、現在の選択範囲に設定します。
BOOL FindTextSimple(
LPCTSTR lpszFind,
BOOL bCase = TRUE,
BOOL bWord = TRUE,
BOOL bNext = TRUE);
パラメーター
lpszFind
検索する文字列を格納します。
bCase
検索で大文字と小文字が区別されるかどうかを示します。
bWord
検索が単語の一部ではなく、単語全体にのみ一致するかどうかを示します。
Bnext
検索の方向を示します。 TRUE の場合、検索方向はバッファーの末尾に向かって行います。 FAL Standard Edition の場合、検索方向はバッファーの先頭に向かって行います。
戻り値
lpszFind テキストが見つかった場合は 0 以外、それ以外の場合は 0。
例
CRichEditView::FindText の例を参照してください。
CRichEditView::GetCharFormatSelection
現在の選択範囲の文字書式属性を取得するには、この関数を呼び出します。
CHARFORMAT2& GetCharFormatSelection();
戻り値
現在の 選択範囲の文字書式属性を含むCHARFORMAT2 構造体。
解説
詳細については、Windows SDK の EM_GETCHARFORMAT メッセージと CHARFORMAT2 構造を参照してください。
例
void CMyRichEditView::OnCharUnderline()
{
CHARFORMAT2 cf;
cf = GetCharFormatSelection();
if (!(cf.dwMask & CFM_UNDERLINE) || !(cf.dwEffects & CFE_UNDERLINE))
cf.dwEffects = CFE_UNDERLINE;
else
cf.dwEffects = 0;
cf.dwMask = CFM_UNDERLINE;
SetCharFormat(cf);
}
CRichEditView::GetClipboardData
フレームワークは、IRichEditOleCallback::GetClipboardData の処理の 一部としてこの関数を呼び出します。
virtual HRESULT GetClipboardData(
CHARRANGE* lpchrg,
DWORD dwReco,
LPDATAOBJECT lpRichDataObj,
LPDATAOBJECT* lplpdataobj);
パラメーター
lpchrg
lplpdataobj で指定されたデータ オブジェクトにコピーする文字 (および OLE 項目) の範囲を指定する CHARRANGE 構造体へのポインター。
dwReco
クリップボード操作フラグ。 これらの値のいずれかを指定できます。
RECO_COPYクリップボードにコピーします。
RECO_CUTクリップボードに切り取ります。
RECO_DRAG ドラッグ操作 (ドラッグ アンド ドロップ)。
RECO_DROPドロップ操作 (ドラッグ アンド ドロップ)。
RECO_PASTEクリップボードから貼り付けます。
lpRichDataObj
リッチエディット コントロール (IRichEditOle::GetClipboardData) のクリップボード データを含む IDataObject オブジェクトへのポインター。
lplpdataobj
lpchrg パラメーターで指定された範囲をIDataObject
表すオブジェクトのアドレスを受け取るポインター変数へのポインター。 エラーが返された場合、 lplpdataobj の値は無視されます。
戻り値
操作の成功を報告する HRESULT 値。 HRESULT の詳細については、「Windows SDK での COM エラー コードの構造」を参照してください。
解説
戻り値が成功を示す場合は、 IRichEditOleCallback::GetClipboardData
lplpdataobj によってアクセスされた値を返IDataObject
します。それ以外の場合は、lpRichDataObj によってアクセスされた値を返します。 独自のクリップボード データを指定するには、この関数をオーバーライドします。 この関数の既定の実装では、E_NOTIMPLが返されます。
これは、高度なオーバーライドが可能です。
詳細については、Windows SDK の IRichEditOle::GetClipboardData、IRichEditOleCallback::GetClipboardData、CHARRANGEを参照し、Windows SDK の IDataObject を参照してください。
CRichEditView::GetContextMenu
フレームワークは、IRichEditOleCallback::GetContextMenu の処理の一環としてこの関数を呼び出します。
virtual HMENU GetContextMenu(
WORD seltyp,
LPOLEOBJECT lpoleobj,
CHARRANGE* lpchrg);
パラメーター
seltyp
選択の種類。 選択の種類の値については、「解説」セクションを参照してください。
lpoleobj
選択範囲に 1 つ以上の OLE 項目が含まれている場合に、最初に選択した OLE オブジェクトを指定する構造体への OLEOBJECT
ポインター。 選択範囲に項目が含まれている場合、 lpoleobj は NULL です。 この構造体は OLEOBJECT
、OLE オブジェクトの v テーブルへのポインターを保持します。
lpchrg
現在の選択範囲を 含む CHARRANGE 構造体へのポインター。
戻り値
コンテキスト メニューへのハンドル。
解説
この関数は、マウスの右ボタンダウン処理の一般的な部分です。
選択の種類は、次のフラグの任意の組み合わせにすることができます。
Standard EditionL_EMPTY 現在選択されていないことを示します。
Standard EditionL_TEXT現在の選択範囲にテキストが含まれていることを示します。
Standard EditionL_OBJECT現在の選択範囲に少なくとも 1 つの OLE 項目が含まれていることを示します。
Standard EditionL_MULTICHAR現在の選択範囲に複数のテキストが含まれていることを示します。
Standard EditionL_MULTIOBJECT現在の選択範囲に複数の OLE オブジェクトが含まれていることを示します。
既定の実装では、NULL が返されます。 これは、高度なオーバーライドが可能です。
詳細については、Windows SDK の IRichEditOleCallback::GetContextMenu と CHARRANGE を参照してください。
CRichEditView::GetDocument
このビューに関連付けられているポインターを取得するには、この関数を CRichEditDoc
呼び出します。
CRichEditDoc* GetDocument() const;
戻り値
オブジェクトに関連付CRichEditView
けられている CRichEditDoc オブジェクトへのポインター。
CRichEditView::GetInPlaceActiveItem
この関数を呼び出して、この CRichEditView
オブジェクト内で現在アクティブ化されている OLE 項目を取得します。
CRichEditCntrItem* GetInPlaceActiveItem() const;
戻り値
このリッチ エディット ビューの単一のインプレース アクティブな CRichEditCntrItem オブジェクトへのポインター。現在、インプレースアクティブ状態の OLE 項目がない場合は NULL。
CRichEditView::GetMargins
この関数を呼び出して、印刷に使用されている現在の余白を取得します。
CRect GetMargins() const;
戻り値
印刷に使用される余白を、MM_TWIPS単位で測定します。
CRichEditView::GetPageRect
この関数を呼び出して、印刷に使用されるページのサイズを取得します。
CRect GetPageRect() const;
戻り値
印刷で使用されるページの境界を、MM_TWIPS単位で測定します。
解説
この値は用紙サイズに基づきます。
CRichEditView::GetPaperSize
この関数を呼び出して、現在の用紙サイズを取得します。
CSize GetPaperSize() const;
戻り値
印刷に使用する用紙のサイズを、MM_TWIPS単位で測定します。
例
void CMyRichEditView::OnPrint(CDC* pDC, CPrintInfo* pInfo)
{
UNREFERENCED_PARAMETER(pInfo);
// Get the current paper size and construct an actual printing
// rectangle by leaving out one half inch margin from each side.
CSize sizePaper = GetPaperSize();
CRect rectMargins(720, 720, sizePaper.cx - 720,
sizePaper.cy - 720);
// Need to set the margins when printing from CRichEditView
SetMargins(rectMargins);
// Set up three rectangular regions spaced an inch apart
CRect rectHeader(0, 0, rectMargins.right, 1440);
CRect rectBody(0, 1440, rectMargins.right, 1440 * 2);
CRect rectFooter(0, 1440 * 2, rectMargins.right, 1440 * 3);
// Format the first 10 characters in the buffer.
int nSavedDC = pDC->SaveDC();
PrintInsideRect(pDC, rectHeader, 0, 10, TRUE); // characters 0-10
pDC->RestoreDC(nSavedDC);
// Format the second 10 characters in the buffer.
nSavedDC = pDC->SaveDC();
PrintInsideRect(pDC, rectBody, 10, 20, TRUE); // characters 10-20
pDC->RestoreDC(nSavedDC);
// Format the third 10 characters in the buffer.
nSavedDC = pDC->SaveDC();
PrintInsideRect(pDC, rectFooter, 20, 30, TRUE); // characters 20-30
pDC->RestoreDC(nSavedDC);
// CRichEditView::OnPrint(pDC, pInfo);
}
CRichEditView::GetParaFormatSelection
現在の選択範囲の段落書式属性を取得するには、この関数を呼び出します。
PARAFORMAT2& GetParaFormatSelection();
戻り値
現在の 選択範囲の段落書式属性を含むPARAFORMAT2 構造体。
解説
詳細については、Windows SDK のメッセージとPARAFORMAT2構造EM_GETPARAFORMAT参照してください。
CRichEditView::GetPrintRect
この関数を呼び出して、ページ四角形内の印刷領域の境界を取得します。
CRect GetPrintRect() const;
戻り値
印刷に使用される画像領域の境界を、MM_TWIPS単位で測定します。
例
void CMyRichEditView::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)
{
CRect rectPrintPage = GetPrintRect(); // Measured in MM_TWIPS
pInfo->SetMaxPage((m_nDocSizeInInches * 1440) / rectPrintPage.Height());
CRichEditView::OnBeginPrinting(pDC, pInfo);
}
CRichEditView::GetPrintWidth
この関数を呼び出して、印刷領域の幅を決定します。
int GetPrintWidth() const;
戻り値
印刷領域の幅を、MM_TWIPS単位で測定します。
CRichEditView::GetRichEditCtrl
この関数を呼び出して、オブジェクトに 関連付けられている CRichEditCtrl オブジェクトを CRichEditView
取得します。
CRichEditCtrl& GetRichEditCtrl() const;
戻り値
CRichEditCtrl
このビューのオブジェクト。
例
CRichEditView::FindText の例を参照してください。
CRichEditView::GetSelectedItem
このオブジェクトで現在選択されている OLE 項目 (オブジェクト) を取得するには、 CRichEditCntrItem
この CRichEditView
関数を呼び出します。
CRichEditCntrItem* GetSelectedItem() const;
戻り値
オブジェクトで 選択されている CRichEditCntrItem オブジェクトへの CRichEditView
ポインター。このビューで項目が選択されていない場合は NULL。
CRichEditView::GetTextLength
このオブジェクト内のテキストの長さを取得するには、この CRichEditView
関数を呼び出します。
long GetTextLength() const;
戻り値
この CRichEditView
オブジェクト内のテキストの長さ。
CRichEditView::GetTextLengthEx
このメンバー関数を呼び出して、この CRichEditView
オブジェクト内のテキストの長さを計算します。
long GetTextLengthEx(
DWORD dwFlags,
UINT uCodePage = -1) const;
パラメーター
dwFlags
テキストの長さを決定するために使用するメソッドを指定する値。 このメンバーには、Windows SDK で説明されている GETTEXTLENGTHEX のフラグ メンバーに記載されている 1 つ以上の値を指定できます。
uCodePage
翻訳用のコード ページ (ANSI コード ページのCP_ACP、Unicode の場合は 1200)。
戻り値
編集コントロールの文字数またはバイト数。 dwFlags で互換性のないフラグが設定されている場合、このメンバー関数はE_INVALIDARGを返します。
解説
GetTextLengthEx
は、テキストの長さを決定する追加の方法を提供します。 リッチ エディット 2.0 機能をサポートしています。 詳細については、「Windows SDK のリッチエディット コントロールについて」を参照してください。
CRichEditView::InsertFileAsObject
この関数を呼び出して、指定したファイルを (CRichEditCntrItem オブジェクトとして) リッチエディット ビューに挿入します。
void InsertFileAsObject(LPCTSTR lpszFileName);
パラメーター
lpszFileName
挿入するファイルの名前を含む文字列。
CRichEditView::InsertItem
この関数を呼び出して、 CRichEditCntrItem オブジェクトをリッチ エディット ビューに挿入します。
HRESULT InsertItem(CRichEditCntrItem* pItem);
パラメーター
pItem
挿入する項目へのポインター。
戻り値
挿入の成功を示す HRESULT 値。
解説
HRESULT の詳細については、「Windows SDK での COM エラー コードの構造」を参照してください。
CRichEditView::IsRichEditFormat
この関数を呼び出して、cf がクリップボード形式 (テキスト、リッチ テキスト、または OLE アイテムを含むリッチ テキスト) かどうかを判断します。
static BOOL AFX_CDECL IsRichEditFormat(CLIPFORMAT cf);
パラメーター
cf
目的のクリップボード形式。
戻り値
cf がリッチエディットまたはテキストクリップボード形式の場合は 0 以外。
CRichEditView::IsSelected
指定した OLE 項目がこのビューで現在選択されているかどうかを確認するには、この関数を呼び出します。
virtual BOOL IsSelected(const CObject* pDocItem) const;
パラメーター
pDocItem
ビュー内のオブジェクトへのポインター。
戻り値
オブジェクトが選択されている場合は 0 以外。それ以外の場合は 0。
解説
派生ビュー クラスに OLE 項目の選択を処理するための別のメソッドがある場合は、この関数をオーバーライドします。
CRichEditView::m_nBulletIndent
リスト内の箇条書き項目のインデント。既定では、720 単位 (1/2 インチ) です。
int m_nBulletIndent;
CRichEditView::m_nWordWrap
このリッチ エディット ビューのワード ラップの種類を示します。
int m_nWordWrap;
解説
次のいずれかの値:
WrapNone
自動折り返しがないことを示します。WrapToWindow
ウィンドウの幅に基づいて折り返しを示します。WrapToTargetDevice
ターゲット デバイスの特性に基づいてワード ラッピングを示します。
例
CRichEditView::WrapChanged の例を参照してください。
CRichEditView::OnCharEffect
現在の選択範囲の文字書式効果を切り替えるには、この関数を呼び出します。
void OnCharEffect(
DWORD dwMask,
DWORD dwEffect);
パラメーター
Dwmask
現在の選択範囲で変更する文字書式効果。
dwEffect
切り替える文字の書式設定効果の目的の一覧。
解説
この関数を呼び出すたびに、現在の選択範囲の指定した書式効果が切り替わります。
dwMask パラメーターと dwEffect パラメーターとその潜在的な値の詳細については、Windows SDK の CHARFORMAT の対応するデータ メンバーを参照してください。
例
void CMyRichEditView::OnItalic()
{
OnCharEffect(CFM_ITALIC, CFE_ITALIC);
}
CRichEditView::OnFindNext
[検索/置換] ダイアログ ボックスからコマンドを処理するときにフレームワークによって呼び出されます。
virtual void OnFindNext(
LPCTSTR lpszFind,
BOOL bNext,
BOOL bCase,
BOOL bWord);
パラメーター
lpszFind
検索する文字列。
Bnext
検索する方向: TRUE はダウンを示します。FAL Standard Edition、up。
bCase
検索で大文字と小文字が区別されるかどうかを示します。
bWord
検索が単語全体のみに一致するかどうかを示します。
解説
内のテキストを検索するには、この関数を呼び出します CRichEditView
。 派生ビュー クラスの検索特性を変更するには、この関数をオーバーライドします。
CRichEditView::OnInitialUpdate
ビューが最初にドキュメントにアタッチされた後、ビューが最初に表示される前に、フレームワークによって呼び出されます。
virtual void OnInitialUpdate();
解説
この関数の既定の実装では、ヒント情報なしで CView::OnUpdate メンバー関数を呼び出します (つまり、lHint パラメーターには既定値 0、pHint パラメーターには NULL を使用します)。 ドキュメントに関する情報を必要とする 1 回限りの初期化を実行するには、この関数をオーバーライドします。 たとえば、アプリケーションに固定サイズのドキュメントがある場合は、この関数を使用して、ドキュメント サイズに基づいてビューのスクロール制限を初期化できます。 アプリケーションで可変サイズのドキュメントがサポートされている場合は、ドキュメントが変更されるたびにスクロール制限を更新するために使用 OnUpdate
します。
例
CRichEditView::m_nWordWrap の例を参照してください。
CRichEditView::OnPasteNativeObject
埋め込み項目からネイティブ データを読み込むには、この関数を使用します。
virtual BOOL OnPasteNativeObject(LPSTORAGE lpStg);
パラメーター
lpStg
IStorage オブジェクトへのポインター。
戻り値
成功した場合は 0 以外。それ以外の場合は 0。
解説
通常、これを行うには、COleStreamFile を作成しますIStorage
。 アーカイブ COleStreamFile
にアタッチし、 CObject::Serialize を呼び出してデータを読み込むことができます。
これは、高度なオーバーライドが可能です。
詳細については、Windows SDK の IStorage を参照してください。
CRichEditView::OnParaAlign
選択した段落の段落の配置を変更するには、この関数を呼び出します。
void OnParaAlign(WORD wAlign);
パラメーター
wAlign
必要な段落の配置。 次のいずれかの値:
PFA_LEFT段落を左余白に揃えます。
PFA_RIGHT段落を右余白に揃えます。
PFA_CENTER余白の間の段落を中央揃えにします。
例
void CMyRichEditView::OnParaCenter()
{
OnParaAlign(PFA_CENTER);
}
CRichEditView::OnPrinterChanged
この機能をオーバーライドして、プリンターが変更されたときにこのリッチ・エディット・ビューの特性を変更します。
virtual void OnPrinterChanged(const CDC& dcPrinter);
パラメーター
dcPrinter
新しいプリンターの CDC オブジェクト。
解説
既定の実装では、出力デバイス (プリンター) の物理的な高さと幅に用紙サイズを設定します。 dcPrinter に関連付けられているデバイス コンテキストがない場合、既定の実装では、用紙サイズが 8.5 x 11 インチに設定されます。
CRichEditView::OnReplaceAll
[置換] ダイアログ ボックスから [すべて置換] コマンドを処理するときにフレームワークによって呼び出されます。
virtual void OnReplaceAll(
LPCTSTR lpszFind,
LPCTSTR lpszReplace,
BOOL bCase,
BOOL bWord);
パラメーター
lpszFind
置き換えるテキスト。
lpszReplace
置換テキスト。
bCase
検索で大文字と小文字が区別されるかどうかを示します。
bWord
検索で単語全体を選択する必要があるかどうかを示します。
解説
この関数を呼び出して、特定のテキストのすべての出現箇所を別の文字列に置き換えます。 このビューの検索特性を変更するには、この関数をオーバーライドします。
例
CRichEditView::FindText の例を参照してください。
CRichEditView::OnReplaceSel
[置換] ダイアログ ボックスから Replace コマンドを処理するときにフレームワークによって呼び出されます。
virtual void OnReplaceSel(
LPCTSTR lpszFind,
BOOL bNext,
BOOL bCase,
BOOL bWord,
LPCTSTR lpszReplace);
パラメーター
lpszFind
置き換えるテキスト。
Bnext
検索の方向を示します:TRUE がダウンしています。FAL Standard Edition、up。
bCase
検索で大文字と小文字が区別されるかどうかを示します。
bWord
検索で単語全体を選択する必要があるかどうかを示します。
lpszReplace
置換テキスト。
解説
この関数を呼び出して、特定のテキストの 1 つの出現箇所を別の文字列に置き換えます。 このビューの検索特性を変更するには、この関数をオーバーライドします。
CRichEditView::OnTextNotFound
検索が失敗するたびにフレームワークによって呼び出されます。
virtual void OnTextNotFound(LPCTSTR lpszFind);
パラメーター
lpszFind
見つからなかったテキスト。
解説
MessageBeep からの出力通知を変更するには、この関数をオーバーライドします。
詳細については、Windows SDK の MessageBeep を参照してください。
例
void CMyRichEditView::OnTextNotFound(LPCTSTR lpszFind)
{
// Replace the beep with a message box
CString str;
str.Format(_T("'%s' was not found."), lpszFind);
AfxMessageBox(str);
}
CRichEditView::OnUpdateCharEffect
フレームワークは、この関数を呼び出して、文字効果コマンドのコマンド UI を更新します。
void OnUpdateCharEffect(
CCmdUI* pCmdUI,
DWORD dwMask,
DWORD dwEffect);
パラメーター
pCmdUI
CCmdUI オブジェクトへのポインター。
Dwmask
文字書式マスクを示します。
dwEffect
文字の書式設定効果を示します。
解説
mask dwMask は、チェックする文字書式属性を指定します。 フラグ dwEffect には、設定/クリアする文字書式属性が一覧表示されます。
dwMask パラメーターと dwEffect パラメーターとその潜在的な値の詳細については、Windows SDK の CHARFORMAT の対応するデータ メンバーを参照してください。
例
void CMyRichEditView::OnUpdateCharItalicUI(CCmdUI* pCmdUI)
{
OnUpdateCharEffect(pCmdUI, CFM_ITALIC, CFE_ITALIC);
}
CRichEditView::OnUpdateParaAlign
フレームワークは、この関数を呼び出して、段落効果コマンドのコマンド UI を更新します。
void OnUpdateParaAlign(
CCmdUI* pCmdUI,
WORD wAlign);
パラメーター
pCmdUI
CCmdUI オブジェクトへのポインター。
wAlign
チェックする段落の配置。 次のいずれかの値:
PFA_LEFT段落を左余白に揃えます。
PFA_RIGHT段落を右余白に揃えます。
PFA_CENTER余白の間の段落を中央揃えにします。
例
void CMyRichEditView::OnUpdateParaCenterUI(CCmdUI* pCmdUI)
{
OnUpdateParaAlign(pCmdUI, PFA_CENTER);
}
CRichEditView::P rintInsideRect
この関数を呼び出して、pDC で指定されたデバイスの rectLayout 内に収まるようにリッチエディット コントロール内のテキストの範囲を書式設定します。
long PrintInsideRect(
CDC* pDC,
RECT& rectLayout,
long nIndexStart,
long nIndexStop,
BOOL bOutput);
パラメーター
pDC
出力領域のデバイス コンテキストへのポインター。
rectLayout
出力領域を定義する RECT または CRect 。
nIndexStart
書式設定する最初の文字の 0 から始まるインデックス。
nIndexStop
書式設定する最後の文字の 0 から始まるインデックス。
bOutput
テキストをレンダリングするかどうかを示します。 FAL Standard Edition の場合、テキストは単に測定されます。
戻り値
出力領域に収まる最後の文字のインデックスに 1 を加えたもの。
解説
通常、この呼び出しの後に、出力を生成する CRichEditCtrl::D isplayBand の呼び出しが続きます。
例
CRichEditView::GetPaperSize の例を参照してください。
CRichEditView::P rintPage
pDC で 指定された出力デバイスのリッチ エディット コントロール内のテキスト範囲を書式設定するには、この関数を呼び出します。
long PrintPage(
CDC* pDC,
long nIndexStart,
long nIndexStop);
パラメーター
pDC
ページ出力のデバイス コンテキストへのポインター。
nIndexStart
書式設定する最初の文字の 0 から始まるインデックス。
nIndexStop
書式設定する最後の文字の 0 から始まるインデックス。
戻り値
ページに収まる最後の文字のインデックスに 1 を加えたもの。
解説
各ページのレイアウトは、GetPageRect と GetPrintRect によって制御されます。 通常、この呼び出しの後に、出力を生成する CRichEditCtrl::D isplayBand の呼び出しが続きます。
余白は論理ページではなく、物理ページに対して相対的であることに注意してください。 したがって、多くのプリンターにはページ上に印刷できない領域があるため、余白が 0 の場合、テキストがクリップされることがよくあります。 テキストをクリッピングしないようにするには、SetMargins を呼び出し、印刷前に適切な余白を設定する必要があります。
CRichEditView::QueryAcceptData
オブジェクトをリッチ エディットに貼り付けるためにフレームワークによって呼び出されます。
virtual HRESULT QueryAcceptData(
LPDATAOBJECT lpdataobj,
CLIPFORMAT* lpcfFormat,
DWORD dwReco,
BOOL bReally,
HGLOBAL hMetaFile);
パラメーター
lpdataobj
クエリを実行する IDataObject へのポインター。
lpcfFormat
許容されるデータ形式へのポインター。
dwReco
使用しません。
bReally
貼り付け操作を続行するかどうかを示します。
hMetaFile
アイテムのアイコンの描画に使用されるメタファイルのハンドル。
戻り値
操作の成功を報告する HRESULT 値。
解説
派生ドキュメント クラス内のさまざまな COM 項目の編成を処理するには、この関数をオーバーライドします。 これは、高度なオーバーライドが可能です。
HRESULT のIDataObject
詳細については、Windows SDK の COM エラー コードと IDataObject の構造を参照してください。
例
// This code fragment is taken from the Wordpad sample.
HRESULT CMyRichEditView::QueryAcceptData(LPDATAOBJECT lpdataobj,
CLIPFORMAT* lpcfFormat, DWORD dwReco, BOOL bReally, HGLOBAL hMetaFile)
{
if (bReally && *lpcfFormat == 0 && (m_nPasteType == 0))
{
COleDataObject dataobj;
dataobj.Attach(lpdataobj, FALSE);
if (!dataobj.IsDataAvailable(cfRTO)) // native avail, let
// richedit do as it wants
{
if (dataobj.IsDataAvailable(cfEmbeddedObject))
{
if (PasteNative(lpdataobj)) // See WordPad sample for info
// on PasteNative
return S_FALSE;
}
}
}
return CRichEditView::QueryAcceptData(lpdataobj, lpcfFormat, dwReco,
bReally, hMetaFile);
}
CRichEditView::SetCharFormat
このオブジェクト内の新しいテキストの文字書式属性を設定するには、この CRichEditView
関数を呼び出します。
void SetCharFormat(CHARFORMAT2 cf);
パラメーター
cf
CHARFORMAT2新しい既定の文字書式設定属性を含む構造体です。
解説
cf のメンバーによってdwMask
指定された属性のみが、この関数によって変更されます。
詳細については、「EM_Standard Edition TCHARFORMAT メッセージと Windows SDK のCHARFORMAT2構造」を参照してください。
例
void CMyRichEditView::OnCharUnderline()
{
CHARFORMAT2 cf;
cf = GetCharFormatSelection();
if (!(cf.dwMask & CFM_UNDERLINE) || !(cf.dwEffects & CFE_UNDERLINE))
cf.dwEffects = CFE_UNDERLINE;
else
cf.dwEffects = 0;
cf.dwMask = CFM_UNDERLINE;
SetCharFormat(cf);
}
CRichEditView::SetMargins
この機能を呼び出して、このリッチ エディット ビューの印刷余白を設定します。
void SetMargins(const CRect& rectMargin);
パラメーター
rectMargin
印刷用の新しい余白の値 (MM_TWIPS単位)。
解説
m_nWordWrap場合はWrapToTargetDevice
、この関数を使用して印刷特性を調整した後、WrapChanged を呼び出す必要があります。
PrintPage で使用される余白は、論理ページではなく、物理ページに対して相対的であることに注意してください。 したがって、多くのプリンターにはページ上に印刷できない領域があるため、余白が 0 の場合、テキストがクリップされることがよくあります。 テキストをクリッピングしないようにするには、印刷前に適切なプリンター余白を設定するために使用 SetMargins
を呼び出す必要があります。
例
CRichEditView::GetPaperSize の例を参照してください。
CRichEditView::SetPaperSize
この関数を呼び出して、このリッチ エディット ビューを印刷するための用紙サイズを設定します。
void SetPaperSize(CSize sizePaper);
パラメーター
sizePaper
印刷用の新しい用紙サイズ値 (MM_TWIPS単位)。
解説
m_nWordWrap場合はWrapToTargetDevice
、この関数を使用して印刷特性を調整した後、WrapChanged を呼び出す必要があります。
例
BOOL CMyRichEditView::OnPreparePrinting(CPrintInfo* pInfo)
{
// Set the printing margins (720 twips = 1/2 inch).
SetMargins(CRect(720, 720, 720, 720));
// Change the paper orientation to landscape mode
// See the example for CWinApp::GetPrinterDeviceDefaults
((CMyWinApp*)AfxGetApp())->SetLandscapeMode();
// Change the paper size in the CRichEditView to
// reflect landscape mode
CSize csPaper = GetPaperSize();
int temp;
temp = csPaper.cx; csPaper.cx = csPaper.cy; csPaper.cy = temp;
SetPaperSize(csPaper);
return DoPreparePrinting(pInfo);
}
CRichEditView::SetParaFormat
このオブジェクトの現在の選択範囲の段落書式属性を設定するには、この CRichEditView
関数を呼び出します。
BOOL SetParaFormat(PARAFORMAT2& pf);
パラメーター
/pf
PARAFORMAT2新しい既定の段落書式属性を含む構造体です。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
pf のメンバーによってdwMask
指定された属性のみが、この関数によって変更されます。
詳細については、「EM_Standard Edition TPARAFORMAT メッセージと Windows SDK のPARAFORMAT2構造」を参照してください。
例
void CMyRichEditView::AddBullets()
{
PARAFORMAT2 pf;
pf.cbSize = sizeof(PARAFORMAT2);
pf.dwMask = PFM_NUMBERING | PFM_OFFSET;
pf.wNumbering = PFN_BULLET;
pf.dxOffset = 10;
VERIFY(SetParaFormat(pf));
}
CRichEditView::TextNotFound
FindText の呼び出しに失敗した後、 CRichEditView コントロールの内部検索状態をリセットするには、この関数を 呼び出します。
void TextNotFound(LPCTSTR lpszFind);
パラメーター
lpszFind
見つからなかったテキスト文字列が含まれています。
解説
コントロールの内部検索状態が正しくリセットされるように、FindText の呼び出しが失敗した直後にこのメソッドを呼び出することをお勧めします。
lpszFind パラメーターには、FindText に指定された文字列と同じ内容を含める必要があります。 内部検索状態をリセットした後、このメソッドは指定された検索文字列を 使用して OnTextNotFound メソッドを呼び出します。
例
CRichEditView::FindText の例を参照してください。
CRichEditView::WrapChanged
印刷特性が変更されたときにこの関数を呼び出します ( SetMargins または SetPaperSize)。
virtual void WrapChanged();
解説
この関数をオーバーライドして、m_nWordWrapまたは印刷特性 (OnPrinterChanged) の変更に対するリッチエディット ビューの応答方法を変更します。
例
void CMyRichEditView::OnInitialUpdate()
{
CRichEditView::OnInitialUpdate();
// Turn on the horizontal scroll bar
m_nWordWrap = WrapNone;
WrapChanged();
}
関連項目
MFC サンプル ワードパッド
CCtrlView クラス
階層図
CRichEditDoc クラス
CRichEditCntrItem クラス
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示