ファイルのオープンの仕方について

[戻る]
RR 2006/07/20(木) 17:41:57
VC++.NETの初心者です。
現在、ダイアログベースでディスク上の画像ファイルををダイアログ画面上に
表示するプログラムを作成しています。
表示したい画像は"C:\Program Files\map\sapporo.bmp"の場所にあります。


ボタンを押すとフォルダダイアログを表示し、そこで手動でファイルを指定して
画面上に表示する内容のプログラムは作成出来ました。
ファイルの指定をするコードは以下の様に作成しました。

void CvdbmDlg::OnBnClickedButton1()
{
    CString filename;
    CFile file;
    BITMAPINFOHEADER myBmpInfoHdr;
     
     //ファイルの指定
    CFileDialog myDLG(TRUE,NULL,NULL,
     OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
    "ビットマップ(*.BMP)|*.BMP|(*.GIF)|*.GIF||");
       if(myDLG.DoModal() !=IDOK) return;

     //習得したファイルをオープンする
    filename=myDLG.GetPathName();
    if(!file.Open(filename,CFile::modeRead|CFile::typeBinary)) {
    return;

    }
                  
       
これを、手動でファイルを指定するのではなく、ボタンを押すと画面上に一気に画像を
表示する様にしたいのですが、上手くいかないため宜しくお願いします。

Blue 2006/07/20(木) 17:52:52
うゎ〜最悪。
http://m--takahashi.com/cgi.cgi?13981

マルチポストはマナー違反です。
こちらの掲示板の「使用上の注意」にもしないようにと明記されていますが、
> 発言される前に「使用上の注意」を必ずお読み下さい。
はきちんと読まれたのでしょうか?

RR [E-Mail] 2006/07/21(金) 09:16:18
[[解決]]
すみません、読んでいませんでした。
Blueさんには、質問とマルチポストについて
回答と指摘して頂いたおかげで問題を解決することが出来ました。
ありがとうございます。

asd 2006/07/21(金) 13:14:02
向こうからBlueさんの回答をコピペ。
>RRさん
マルチポスト云々について謝罪しておられるので分かっているとは思いますが、
このスレ内で問題〜解決まで完結できるように、たとえマルチポスト先に回答があるとし
ても解決法を載せたほうが親切かなと思います。

このスレだけを見るとどうやって解決したのかさっぱり分かりません。

---以下マルチポスト先でのBluさんの回答引用

>上手くいかないため宜しくお願いします。
どのようにしたらうまくいかなかったのでしょうか?

まさか

filename = "C:\Program Files\map\sapporo.bmp";

って、指定しています?
C言語の文字列定数内で \ を使うときはエスケープする必要があります。(基本)

filename = "C:\\Program Files\\map\\sapporo.bmp";

asd 2006/07/21(金) 13:15:08
自己レスです。
>---以下マルチポスト先でのBluさんの回答引用

Blueさんの名前を間違えてしまいました。
申し訳ありませんです。

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