お世話になっております。C++初心者です。
とある開発でVC++6.0のMFCを利用して画像表示を行う作業をしています。
リソースファイルを使用せず、
外部の画像ファイルを読み込みピクチャーボックスに表示しなければならないのですが、
下記の関数を呼び、BMPファイルを読み込み、
NULLの場合はエラーメッセージを表示するようにしているのですが、
必ずNULLが返ってきてしまいます。
何が問題なのかもわからず苦戦しております。
知識不足で申し訳ないのですが、お願いします。
【疑問点】
・画像ファイルの指定は絶対パス?相対パス?
***問題の箇所***
HBITMAP hBmp; // ビットマップハンドル
// ビットマップのハンドル取得
hBmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),"1.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
// ハンドルのチェック
if(hBmp == NULL)
{
AfxMessageBox("読み込みに失敗しました");
return ;
}
No.1ベストアンサー
- 回答日時:
>・画像ファイルの指定は絶対パス?相対パス?
>hBmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),"1.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
ということなので、「カレントディレクトリからの相対パス」になります。
GetOpenFileName()とか使うと、場合によってはカレントディレクトリが変更されることもありますから…
「カレントディレクトリからの相対パス指定」でのファイルアクセスはオススメできませんね。
実行ファイル名を取得してパス名分解などを行った上で、絶対パス指定でファイルアクセスするべき…かと。
# 実行ファイル名を取得して…からならば、実行ファイルのある場所からの相対…のように絶対パス名を組み立てていけばいいわけですし。
LR_LOADFROMFILE指定ならば、AfxGetInstanceHandle()は不要かと思いますけどね。
# MFCの方で、LR_LOADFROMFILE指定かつインスタンスハンドルが指定されていたらモジュールのファイル名を取得して、そこからの相対パスでアクセスしてくれる。
# なんてのが実装されていたら意味があるかも知れませんけど……。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Perl 画像が表示でnull; this.src 1 2022/04/19 11:31
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- HTML・CSS Dreamweaver のテンプレートでの相対パスの設定について 2 2023/06/13 17:28
- 画像編集・動画編集・音楽編集 DVD Styler トラブル解決方法 6 2022/10/29 16:00
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLタグのあるCSVファイルを利...
-
Excel VBAどこが間違ってますか?
-
Excel-VBA 撮影日時の取得
-
バッチによるショートカットの...
-
エクセルVBA ファイルOPEN時の...
-
エクセルVBAについて
-
【VC++6.0 MFC】画像表示について
-
動的に生成したVSBファイルへデ...
-
エクセルVBA
-
ファイル変更の監視を開始でき...
-
Error!! HTTP status code=404
-
ボタンをファイルにリンクさせたい
-
iniファイルのセクションについて
-
1フォルダに保存できるファイル...
-
WebLogic/javaで一部JSPだけが...
-
JSONファイルをダウンロードさ...
-
バッチファイルが作成できない
-
Access2003で「オブジェクト'○○...
-
Excelでdatファイルを作成??
-
Microsoft Access エラー 3051
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチによるショートカットの...
-
1フォルダに保存できるファイル...
-
Excel VBAどこが間違ってますか?
-
エクセルVBA ファイルOPEN時の...
-
HTMLタグのあるCSVファイルを利...
-
Excel-VBA 撮影日時の取得
-
HTMLプログラムにExcelをリンク...
-
Windowsのメモ帳でジョークウイ...
-
JSONファイルをダウンロードさ...
-
C#のAxWindowsMediaPlayerから...
-
fopenでNULLを返されるがGetLas...
-
ボタンをファイルにリンクさせたい
-
VBAを使い、Web上からファイル...
-
エクセルVBA
-
WebLogic/javaで一部JSPだけが...
-
subversionからファイル取得時...
-
エクセルVBAについて
-
動的に生成したVSBファイルへデ...
-
【VC++6.0 MFC】画像表示について
-
IEで複数のファイル選択方法
おすすめ情報