次の方法で共有


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 出力ストリームに現在の選択を書き出します。この引数が指定されない場合、StreamOutCRichEditCtrl でこのオブジェクトの内容を書き出します。

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