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の 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