ツリービューのフォルダの色を変えたい – プログラミング – Home

ツリービューのフォルダの色を変えたい
 
通知
すべてクリア

ツリービューのフォルダの色を変えたい


haruki
 haruki
(@haruki)
ゲスト
結合: 13年前
投稿: 2
Topic starter  

CTreeViewを使ってエクスプローラ風のツリービューを作成しましたが
空フォルダだけフォルダの色を変えたい(つまりはアイコンを差し替える?)のですが
どのようにしたら良いのか教えてください

現在、アイコンのイメージを取得している部分は以下です

LPITEMIDLIST lpItemIDXXX;
SHGetSpecialFolderLocation(m_hWnd, CSIDL_DESKTOP, &lpItemIDXXX);

SHFILEINFO sfi;
ZeroMemory(&sfi, sizeof(SHFILEINFO));
HIMAGELIST hSysImageXXX = (HIMAGELIST) SHGetFileInfo((LPCTSTR)lpItemIDXXX,
0, &sfi, sizeof(SHFILEINFO), SHGFI_PIDL | SHGFI_SYSICONINDEX |
SHGFI_SMALLICON);

CImageList *image = GetTreeCtrl().SetImageList( CImageList::FromHandle
(hSysImageXXX), TVSIL_NORMAL);

WinXP VS2010 MFC使用


引用解決済
トピックタグ
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

CTreeCtrlを使ったプログラミング方法を調べれば
出てきそうな気がしますけれど、基本的にコントロールに
設定されたイメージリストの何番目のイメージを使うという
形で使用するアイコンを設定しますから、
まず、イメージリストに使用したいイメージが登録されている
事が前提になります。イメージリスト上に使用するイメージが既に
登録されているなら指定するアイコンのインデックス値でコントロールが
可能なはずです。イメージが登録されていないのであれば、
イメージを追加で登録する必要があると思います。

まずはCTreeCtrlを使ってプログラミングするときの方法について
一通り調べてみる事をお勧めします。


返信引用
haruki
 haruki
(@haruki)
ゲスト
結合: 13年前
投稿: 2
Topic starter  

PATIOさん
ありがとうございました。
考え方は良かったみたいで、後押ししていただいたのでそのまま続けてみます
感謝です。

>まずはCTreeCtrlを使ってプログラミングするときの方法について
>一通り調べてみる事をお勧めします。

まずはこちらを調べてみます。

着手時期が遅れることになったため、追記まで時間がかかりますが、
出来上がりましたらお伝えします。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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