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,指定在加载文本缓冲区的回调函数。此回调函数,重复调用,直到输出流不足。
有关更多信息,请参见 EM_STREAMOUT 消息和 EDITSTREAM 结构。Windows SDK。
示例
// 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);
要求
Header: afxcmn.h