Serializeを使った読み込み、保存時のファイルの種類

[戻る]
katoh 2005/02/04(金) 23:23:14
題名のまんまなのですが、
Serializeを使ったファイルの読み込み、保存時のファイルの種類
の設定はどのようにすればよいのでしょうか?
自分でダイアログを開くときの設定の仕方はわかるのですが、
シリアライズを使った場合について教えてください。
よろしくお願いいたします。

とおりすがり 2005/02/05(土) 13:10:16
ファイルの種類とは?
まさか拡張子のことか?

reshia [HomePage] 2005/02/05(土) 14:16:13
MFCなら、リソースビューのString Tableにある
IDR_MAINFRAMEなんかにある値を変更すると思います。
たとえば、
ImageView\n\nbmp\nBMP Files (*.bmp)\n.bmp\nBmp.Document\nBmp.Document
のように。

katoh 2005/02/05(土) 14:49:59
返信ありがとうございます。
IDR_MAINFRAMEを変更すると、ファイルの読み込み、
保存両方のファイルの種類が変更されてしまいます。
読み込みと保存のファイルの拡張子が違うプログラムのため、
それぞれを別々に変更したいのです。

reshia [HomePage] 2005/02/05(土) 15:18:17
では、Serializeを捨てて、自分でメニューに「開く」と「保存」を追加して、
それぞれ、ID_MYOPEN、ID_MYSAVEなどにしておいて、
そのメニューが押されたときのイベントを捕まえる関数を

void CMainDoc::OnMyopen()
{
    // TODO : ここにコマンド ハンドラ コードを追加します。
    CFileDialog dlg(TRUE, NULL, NULL, OFN_READONLY | 
OFN_FILEMUSTEXIST,"All Files (*.*)|*.*||",  NULL);
    if (dlg.DoModal() == IDOK) {
        CString fInName;
        fInName = dlg.GetPathName();
    }
}

void CMainDoc::OnMysave()
{
    // TODO : ここにコマンド ハンドラ コードを追加します。
    CFileDialog dlg(FALSE, NULL, NULL, OFN_READONLY | 
OFN_FILEMUSTEXIST,"All Files (*.*)|*.*||",  NULL);
    if (dlg.DoModal() == IDOK) {
        CString fInName;
        fInName = dlg.GetPathName();
    }
}

などと作れば、とりあえず解決しますね。

reshia [HomePage] 2005/02/05(土) 15:19:13
あ、保存の方、OFN_READONLY | OFN_FILEMUSTEXISTは間違い

古いスレッドには追加発言できません。