アイコンの取得 – プログラミング – Home

通知
すべてクリア

[解決済] アイコンの取得


Hana
 Hana
(@Hana)
ゲスト
結合: 23年前
投稿: 20
Topic starter  

MFCでエクスプローラのようなものを作っています。
左側のツリーコントロールで選択されたディレクトリの
ファイルを右側のリストコントロールに表示しています。
その時、ファイルのアイコンをSHGetFileInfo()で取得しているのですが、
起動時のみ取得できて、その後は何も取得できません。
原因がまったく分からないのですが、
SHGetFileInfo()の使い方が間違っているのでしょうか?


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

> SHGetFileInfo()の使い方が間違っているのでしょうか?

どのように使っているかを示していただかないと、
間違っているかどうかを判断できません。


返信引用
Hana
 Hana
(@Hana)
ゲスト
結合: 23年前
投稿: 20
Topic starter  

すいません。こんな感じで使っているのですが・・・。

HIMAGELIST hImage ;
SHFILEINFO fi ;

for( ファイル数分ループ )
{
hImage = (HIMAGELIST)SHGetFileInfo( (ファイルのフルパス),
0,
&fi,
sizeof( SHFILEINFO ),
SHGFI_SYSICONINDEX | SHGFI_SMALLICON ) ;
}

アプリケーション起動時にこのループを通ると全てのファイル情報が取得できます。
ところが再びここへ来るとhImageはからっぽで何も取得できません。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

呼び出しそのものは問題ないと思います。

取得したhImageをImageList_Destroyなどで
削除していませんか?

CImageListにAttachしたままオブジェクトを削除した場合も
イメージリスト自体が削除されます。


返信引用
Hana
 Hana
(@Hana)
ゲスト
結合: 23年前
投稿: 20
Topic starter  

dairygoodsさん、どうもありがとうございました。
ファイルのフルパスが正確じゃなかったようです。
何度も確認したはずだったのですが・・・。
お騒がせしました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました