CRichEditCtrlのデータの取り出し方法 – プログラミング – Home

CRichEditCtrlのデータの取...
 
通知
すべてクリア

[解決済] CRichEditCtrlのデータの取り出し方法


Plum
 Plum
(@Plum)
ゲスト
結合: 18年前
投稿: 3
Topic starter  

環境は、VC++6.0 MFCです。

CRichEditCtrlのデータを取り出し、
別データと結合してファイルに保存したいのですが・・・

SDI CFormViewA 切替 CFomeViewB 切替 CFomeVewC (CRichEditCtrl)
DataA DataB DataRTF

DataA, B, RTFを1つのファイルに
  Document Class
ar << DataA << DataB << DataRTF

上記イメージのようなプログラムを考えています。
現在DataA,Bを1つのファイルに保存、
DataRTFを別ファイルに保存は出来るのですが(StreamOut,StreamIn)、
どのようにしてRTFデータを取り出し、
Document ClassのSerializeで1つのファイル保存したらよいかがわかりません。
どのような方法で実現したらよいかよろしくお願いします。


引用未解決
トピックタグ
Plum
 Plum
(@Plum)
ゲスト
結合: 18年前
投稿: 3
Topic starter  

RTF -> CMemFile -> BYTE配列 -> CArchive 書き込み
CArchive -> BYTE配列 -> CMemFile -> RTF 読み込み で実現しました。

次は、直接CMemFileにアクセスと思い、下記のコードでテストしましたが、
Attach でエラーとなります。
タイトルと質問が変わってしまいましたがよろしくお願いします。

void CXXXDoc::Serialize(CArchive& ar)
{
int a, b, len;
BYTE* buf;
if (ar.IsStoring()) {
a = 1; b = 2;
RTFをm_MemFileへ
    len = m_MemFile.GetLength();
    buf = m_MemFile.Detach();     書き込みは成功
    ar << a << b << len;
ar.Write(buf, len);
free(buf);
}
else {
a = b = 0;
ar >> a >> b >> len;
buf = new BYTE[len];
ar.Read(buf, len);
m_MemFile.Attach(buf, len, 0);   <- ここでエラー
メモリファイルをRTFへ
    delete[] buf;
}
}


返信引用
Plum
 Plum
(@Plum)
ゲスト
結合: 18年前
投稿: 3
Topic starter  

CMemFileをクラスのメンバーから関数ローカルに変更することにより解決しました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました