bmpを表示する関数と処理する関数を別々のファイルにしたいのですが、表示されません・・・。エラー、警告はありませんでした。VC++2008を使用しています。ソースは以下のようになっています。よろしくお願い致します。
~ 処理部分 load_bmp.cpp ~
#include<windows.h>
#include<stdio.h>
#include <tchar.h>
externHINSTANCE hinst;
externHWND hwnd;
int Load_Bmp( HDC hdc, char *f_name_of_BMP)
{
HBITMAPhbmp;
HDCwork_DC;
hbmp=(HBITMAP)LoadImage(hinst,_T ("f_name_of_BMP"),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_LOADFROMFILE);
if( hbmp == NULL ){
MessageBox(hwnd, _T("ビットマップを表示できません"), _T("エラー"),MB_OK | MB_ICONWARNING);
return 0;
}
work_DC = CreateCompatibleDC( hdc );
SelectObject( work_DC, hbmp );
BitBlt(hdc,0,0,640,480,work_DC,0,0,SRCCOPY);
ReleaseDC( hwnd,work_DC );
DeleteObject( hbmp );
return 0;
}
~ヘッダファイル load_bmp.h ~
int Load_Bmp( HDC hdc,char *f_name_of_BMP);
~処理部分 main.cpp ~
#include<windows.h>
#include <tchar.h>
#include "load_bmp.h"
HWNDhwnd;
HDCwin_hdc;
HINSTANCEhinst;void init_game()
{
Load_Bmp( win_hdc,"test.bmp");
}
LRESULT WndProc(HWND hwnd,UINT msg,WPARAM wprm,LPARAM lprm)
{
switch(msg){
caseWM_CREATE: break;
caseWM_DESTROY: PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd,msg,wprm,lprm);
}
return 0;
}
int APIENTRY WinMain(HINSTANCE hIns,HINSTANCE hPI,LPSTR lpArg,int nCmdShow)
{
MSGmsg;
WNDCLASSwc;
hinst=hIns;
wc.hInstance=hIns;
wc.lpszClassName=_T("test");
wc.lpfnWndProc=(WNDPROC)WndProc;wc.style=0;wc.hIcon=LoadIcon((HINSTANCE)NULL,IDI_APPLICATION);
wc.hCursor=LoadCursor((HINSTANCE)NULL,IDC_ARROW);
wc.lpszMenuName=0;
wc.cbClsExtra=0;
wc.cbWndExtra=0;
wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
if(RegisterClass(&wc)==0)return 0;
hwnd=CreateWindowEx(
0,
wc.lpszClassName, _T("test"),
WS_OVERLAPPEDWINDOW, 20,20,640,480,
NULL,NULL, hIns,NULL );
if(!hwnd)
return 0;
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
win_hdc=GetDC(hwnd);
init_game();
while(1){
if(PeekMessage(&msg,NULL,0,0,PM_NOREMOVE)){
(!GetMessage(&msg,(HWND)NULL,0,0));break;TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
No.2ベストアンサー
- 回答日時:
基本部分から…なんでしょうか。
有名どころの「猫でもわかるプログラミング」を参照された方が良いのでは?
http://www.kumei.ne.jp/c_lang/index.html
書籍も出ています。
Webの方は、最新のVisual Studioではうまくいかない場合がありますので
トップページなどに書かれている注意書きをよく読みましょう。
>hbmp=(HBITMAP)LoadImage(hinst,_T ("f_name_of_BMP"),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_LOADFROMFILE);
こちらは、引数で渡されたファイル名ではなく、カレントディレクトリにある「f_name_of_BMP」というファイルを指定していることになります。
どう修正するのか…については調べてみてください。
# 特定の名前のBMPファイルを読み込んでWindowに表示…だけでもまだ数点不足しているようですが。
回答どうもありがとうございます。
「猫でもわかるプログラミング」を見てみました。そこからリソーススクリプトについて調べたところ、解決しました。
ご指摘ありがとうございました。
No.1
- 回答日時:
>int Load_Bmp( HDC hdc, char *f_name_of_BMP)
>hbmp=(HBITMAP)LoadImage(hinst,_T ("f_name_of_BMP"),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_LOADFROMFILE);
LoadImage()の第2引数は実際のコードでこのように書かれているのでしょうか?
その場合、なにを意図してこのように書かれたのでしよう?
このように記述した場合、「Load_Bmp()の第2引数で受け取った文字列が展開される」などという機能はありませんが意図したものですか?
bmpファイルを指定して読み込む場合(LR_LOADFROMFILE指定の場合)はLoadImage()の第1引数はNULLでもよかったかと思います。
# MSDNで確認してください。
回答どうもありがとうございます。
このコードは http://www4.nasuinfo.or.jp/~hobby/index.shtml にあるものを参考にしました。
意図というよりも何も知らずにそのまま書いただけです・・・。
別の関数からmain関数に渡すための引数の指定がわかりません。
#MSDNで確認してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- FX・外国為替取引 mql4のコンパイルエラー箇所の修正お願いします。 1 2023/03/15 16:14
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
久保建英は日本代表に呼ばれる...
-
国立競技場と東京体育館について
-
アンセミックって何?
-
ワールドカップに全く興味ない...
-
サッカーのスタジアムでドーム...
-
『SmaSTATION』の小宮悦子さん...
-
乃木坂46で抑えておくべきメン...
-
○○杯、○○カップのルーツ
-
ワールドカップ観戦のお供に楽...
-
クラブワールドカップは、米国...
-
次のワールドカップはいつ?
-
hpのプリンターでPCへ画像が...
-
ワールドカップロシア VTR判定??
-
日本代表選手の名前と背番号
-
民放が放送するワールドカップ...
-
サッカー日本の世界ランキンク...
-
W杯ドイツ大会:スイスは無失点
-
ワールドカップチケット予約の...
-
W杯、欧州選手権、CL、EL...
-
アルゼンチン(2006年ワー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サッカーのスタジアムでドーム...
-
エクセルで特定の文字の前や後...
-
アンセミックって何?
-
ワールドカップの時の、ウォ~...
-
NHK TVerについて
-
国立競技場と東京体育館について
-
西野七瀬が秋元真夏をいじめて...
-
Jupiterに似た曲
-
2022年に高3だった人に質問、ス...
-
サッカーでよく聞く オーレオレ...
-
Excel VBAで他アプリへのテキス...
-
○○杯、○○カップのルーツ
-
サッカーの曲について
-
久保建英は日本代表に呼ばれる...
-
僕はサッカーより野球も好きな...
-
ワールドカップスキーのエンデ...
-
ドーハの悲劇など、代表の歴史...
-
バボ日本
-
ワールドカップでよく流れてた曲
-
「桃色吐息」の意味は???
おすすめ情報