次の方法で共有


CRichEditCtrl::StreamOut

更新 : 2007 年 11 月

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 の EM_STREAMOUT メッセージと EDITSTREAM 構造体の説明を参照してください。

使用例

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

必要条件

ヘッダー : afxcmn.h

参照

参照

CRichEditCtrl クラス

階層図

CRichEditCtrl::StreamIn

その他の技術情報

CRichEditCtrl のメンバ