winapi32でのJPEG画像表示切り替え 配列について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
aim

winapi32でのJPEG画像表示切り替え 配列について

#1

投稿記事 by aim » 8年前

http://www.geocities.jp/ccfjd821/purogu/wpe-ji9.html 
↑のサイト様を参考にして、winapi32でJPEG画像を表示しようと思っています。
画像表示方法は、
char jpeg[3][10] = { "test1.jpg", "test2.jpg", "test1.jpg" } ;
(ポインタを使えばもっとうまく配列を扱えそう?)
と、いった感じで画像のファイル名を配列に格納して、その格納したファイル名を
GetHandle(ファイル名,hWnd,hdc); で読み込みたいと思っています。

ですが、GetHandle(jpeg[1][0],hWnd,hdc);
のようにしても、もちろん引数として認識しないのでできません。

いったいどうしたらうまくいくのでしょうか?
あまりうまく説明できなくて申し訳ないのですが、
なにか方法や参考サイト様などを知っている方がいましたら、どうか教えてください

アバター
へろりくしょん
記事: 92
登録日時: 9年前
住所: 福岡

Re: winapi32でのJPEG画像表示切り替え 配列について

#2

投稿記事 by へろりくしょん » 8年前

引数として認識しないというのが今ひとつさっぱり分かりませんが。

とりあえず、GetHandle() 関数は、void GetHandle(char File[255],HWND hWnd,HDC hdc) となってますね。
関数の仮引数で宣言された配列型は、ポインタ型に読み替えられます。
したがって、この場合の、第一引数 File の型は char* 型です。

で、char jpeg[3][10] = { "test1.jpg", "test2.jpg", "test1.jpg" } ;の
jpeg の型は char[3][10] です。
jpeg[0] の型は、char[10] です。
jpeg[0][0] の型は、char です。

ですので、この場合は、
GetHandle(&jpeg[1][0], hWnd, hdc); とするか、
GetHandle(jpeg[1], hWnd, hdc); とします。

aim

Re: winapi32でのJPEG画像表示切り替え 配列について

#3

投稿記事 by aim » 8年前

へろりーなさん 返信ありがとうございます。
うまく動かすことができました!

閉鎖

“C言語何でも質問掲示板” へ戻る