• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【VC++6.0 MFC】画像表示について)

【VC++6.0 MFC】画像表示について

このQ&Aのポイント
  • VC++6.0のMFCを利用して画像表示を行う方法について調査しています。
  • リソースファイルを使用せず、外部の画像ファイルを読み込みピクチャーボックスに表示する方法についてお知りですか?
  • 特定のBMPファイルを読み込んでも必ずNULLが返ってきてしまい、原因がわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

>・画像ファイルの指定は絶対パス?相対パス? >hBmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),"1.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); ということなので、「カレントディレクトリからの相対パス」になります。 GetOpenFileName()とか使うと、場合によってはカレントディレクトリが変更されることもありますから… 「カレントディレクトリからの相対パス指定」でのファイルアクセスはオススメできませんね。 実行ファイル名を取得してパス名分解などを行った上で、絶対パス指定でファイルアクセスするべき…かと。 # 実行ファイル名を取得して…からならば、実行ファイルのある場所からの相対…のように絶対パス名を組み立てていけばいいわけですし。 LR_LOADFROMFILE指定ならば、AfxGetInstanceHandle()は不要かと思いますけどね。 # MFCの方で、LR_LOADFROMFILE指定かつインスタンスハンドルが指定されていたらモジュールのファイル名を取得して、そこからの相対パスでアクセスしてくれる。 # なんてのが実装されていたら意味があるかも知れませんけど……。

fcknsho
質問者

お礼

ご返事が遅れてしまい、申し訳ございません。 ご指摘等々ありがとうございました。

関連するQ&A