|
안녕하세요 초보 허접입니다. 다름이 아니라 Tree에서 두가지 형태 즉 폴더를 선택했을 경우와 안 했을 경우 icon을 구별하여 나타나게 했습니다. 여기에 하위 폴더에 파일이 있는 경우와 없는 경우르 추가하여 icon을 표현하고 싶은데 잘 안되네요.........
1) 부분이 시스템 아이콘을 가지고 오는 부분이고 2)부분이 트리를 생성하는 부분인데 이와는 별개로 2개의 시스템 아이콘을 더 가지고 오던지 아니면 리소스에 등록한 아이콘을 가지고 와 4가지의 경우로 나누어 트리를 생성하고자 하는데 여러가지 방법으로 해 봤지만 잘 되지 않네요..........
고수님들의 지도바랍니다.........
1)------------------------------------------------------------------------------------------
//get the index of a normal image
himl = (HIMAGELIST)SHGetFileInfo(szPath, 0, &sfi, sizeof sfi,
SHGFI_SMALLICON | SHGFI_SYSICONINDEX);
if (NULL == himl) return FALSE;
m_iImage = sfi.iIcon;
TreeView_SetImageList(FolderTV->Handle, himl, TVSIL_NORMAL);
//get the index of a selected image
himl = (HIMAGELIST)SHGetFileInfo(szPath, 0, &sfi, sizeof sfi,
SHGFI_SMALLICON | SHGFI_SYSICONINDEX | SHGFI_OPENICON);
if (NULL == himl) return FALSE;
m_iSelectedImage = sfi.iIcon;
TreeView_SetImageList(FolderTV->Handle, himl, TVSIL_STATE);
2)------------------------------------------------------------------------------------------
TTreeNode *pNode;
pNode = FolderTV->Items->AddChild(pParent, name);
pNode->ImageIndex = m_iImage;
pNode->SelectedIndex = m_iSelectedImage;
pNode->Data = pszFKey;
pNode->HasChildren = 'Y' == *child ? TRUE : FALSE;
|