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