1
私はマッチを探していて、色で強調しています。 この後、私はそれらを表示します。 強調表示された単語でテキスト全体を再表示する必要があります。 std::stringstream
とStreamIn
+ StreamOut
を実行しようとしましたが、色が失われました。MFC。 CMFCRibbonRichEditCtrlの保存とロード
void RichText::saveInStringstream()
{
EDITSTREAM es = { 0, 0, editStreamOutCallback };
es.dwCookie = reinterpret_cast<DWORD_PTR>(&m_rtf);
m_richEdit.StreamOut(SF_RTF, es);
}
DWORD CALLBACK RichText::editStreamOutCallback(DWORD_PTR dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb)
{
std::stringstream *rtf = reinterpret_cast<std::stringstream *>(dwCookie);
rtf->write(reinterpret_cast<char *>(pbBuff), cb);
*pcb = cb;
return 0;
}
'StreamOut'が動作するはずです。 'CRichEditView :: Stream'の本文を見てください。 – ZDF
私もやっていると思います。 'void RichText :: saveInStringstream() { EDITSTREAM es = {0、0、editStreamOutCallback}; es.dwCookie = reinterpret_cast(&m_rtf); m_richEdit.StreamOut(SF_RTF、es); } '' DWORD CALLBACKリッチ:: editStreamOutCallback(DWORD_PTR dwCookie、LPBYTE pbBuff、LONG CB、LONG * PCB) {STD ::にstringstream * RTF = reinterpret_castは<はstd ::にstringstream *>(dwCookie)。 rtf-> write(reinterpret_cast (pbBuff)、cb); * pcb = cb; return 0; } ' ただし、ソーステキストはストリーム内に残ります。 –
このコードをコメントで読むのは不可能です。編集ボタンをクリックし、あなたの質問にこの情報を含めてください。 –