Skocz do zawartości

Kontrolka TreeView z listą Folderów


Answer

Recommended Posts

Witam,
W kontrolce TreeView chciałem umieścić foldery jak w explorerze. I tu pojawia się problem.

Nie wiem jak wylistować podfoldery razem z ich ikonami tzn. wszystkie dyski razem z ikonami dodać do kontrolki TreeView, a po rozwinięciu któregoś wszystkie podfoldery (także z ich ikonami) dodatkowo sprawdzając czy nie są puste.

Link do komentarza
Udostępnij na innych stronach

step 1:

wejdź na tę stronę https://www.codeproject.com/tabctrl/tabpagedrives.asp

step 2:

zobacz czy program przedstawiony na obrazku ci odpowiada

step 3:

if(odpowiada)
{
download_source() ;
}
else
{
ShellExecute(HWND_DESKTOP, "open", "https://www.codeproject.com",NULL, NULL, SW_SHOWNORMAL) ;

if(searching() == NO_FIND)
{
ShellExecute(HWND_DESKTOP, "open", "https://www.google.pl", NULL, NULL, SW_SHOWNORMAL) ;
if(searching() == NO_FIND)
{
MessageBox(HWND_DESKTOP, "Niemożliwe", "Nie wierze", MB_OK) ;
}
}
}

w razie nie powodzenia goto: step 3.

pozdrawiam

Link do komentarza
Udostępnij na innych stronach

Dzięki za odpowiedż. Ale czy jest jakiś sposób na pobranie ikony konkretnego folderu. Tak jak w XP-ku.

DODANE:
-----------------------------------------------------------------------------
Już nie trzeba. Sam znalazłem odpowiedż. Wymyśliłem że można
to zrobić przez:
Aby pobrać plik ikony folderu:

GetPrivateProfileString(".ShellClassInfo","IconFile","DEFAULT",(LPSTR)&ikona,sizeof(ikona),"C:/Folder/Desktop.ini");

i jeszcze jej miejsce w pliku (indeks ikony):

int indeksikony = GetPrivateProfileInt(".ShellClassInfo","IconIndex",0,"C:/Folder/Desktop.ini");
Link do komentarza
Udostępnij na innych stronach

Przepraszam ale trochę byłem nieobecny na forum ale już odpowiadam. Widzę że na pytanie z ikonami znalazłeś odpowiedź, choć zamiast pobierania każdej ikony z osobna mogłeś poprostu zdefiniować sobie ikonke folderu i każdemu z osobna ją nadać, podobnie z dyskami. A jeśli chcesz zrobić sobie całą drzewiastą strukturę w pamięci to daj znać to podam Ci gotową funkcję jak zrobić to rekurencyjnie alokując wszystko dynamicznie.

Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...