Toyoです
前にも似たような質問をしているのですが、CTreeCtrl, CListCtrl にディレクト
リ、ファイルの一覧を表示すると云うのが最終目的です。
で、イメージリストについて多少は勉強しました。結局、
// ヘッダファイルで定義.
CImageList m_SmlIcon
// 小さいアイコンを取得.
SHFILEINFO SHFileInfo;
HIMAGELIST hSmlIcon;
// システムアイコンイメージを取得する場合.
SmlIcon = (HIMAGELIST) SHGetFileInfo(
"", 0, &SHFileInfo, sizeof(SHFILEINFO), SHGFI_SYSICONINDEX|SHGFI_SMALLICON
);
// この後、m_ListCtrl.SetImageList() を呼ぶ.
これはこれで良いのですが、この後特定のファイル(例えば Foo.exe)のアイコ
ンを追加しようとして、
SHGetFileInfo( "Foo.exe", ...... );
m_SmlIcon.Add(SHFileInfo.hIcon);
としても、Foo.exe のアイコンは表示されません.デバッガで調べた処、Add() は
-1 を返しています。何だか肝心な処を理解していないようですが、どこが誤ってい
るのでしょうか?
#拙い日本語ですいません。
2006/09/23 18:51:48
====================================
<<< Toyo : t...@nifty.com >>>
====================================
前にも似たような質問をしているのですが、CTreeCtrl, CListCtrl にディレクト
リ、ファイルの一覧を表示すると云うのが最終目的です。
で、イメージリストについて多少は勉強しました。結局、
// ヘッダファイルで定義.
CImageList m_SmlIcon
// 小さいアイコンを取得.
SHFILEINFO SHFileInfo;
HIMAGELIST hSmlIcon;
// システムアイコンイメージを取得する場合.
SmlIcon = (HIMAGELIST) SHGetFileInfo(
"", 0, &SHFileInfo, sizeof(SHFILEINFO), SHGFI_SYSICONINDEX|SHGFI_SMALLICON
);
// この後、m_ListCtrl.SetImageList() を呼ぶ.
これはこれで良いのですが、この後特定のファイル(例えば Foo.exe)のアイコ
ンを追加しようとして、
SHGetFileInfo( "Foo.exe", ...... );
m_SmlIcon.Add(SHFileInfo.hIcon);
としても、Foo.exe のアイコンは表示されません.デバッガで調べた処、Add() は
-1 を返しています。何だか肝心な処を理解していないようですが、どこが誤ってい
るのでしょうか?
#拙い日本語ですいません。
2006/09/23 18:51:48
====================================
<<< Toyo : t...@nifty.com >>>
====================================