Как загрузить в TreeView содержимое, например, диска С:
Как загрузить в TreeView содержимое, например, диска С:
Как загрузить в TreeView содержимое, например, диска С: Использовать: findfirstfile findnextfile findclose А вообще самый лёгкий способ получить список файлов создать простой listbox и отправить ему сообщение lb_dir. Примерно так: sendmessage(hwndlb, lb_dir, ddl_readwrite | ddl_directory, (long)"c:*.*"); а затем цитата: -------------------------------------------------------------------------------- adding tree-view items you add an item to a tree-view control by sending the tvm_insertitem message to the control. the message includes the address of a tvinsertstruct structure, specifying the parent item, the item after which the new item is inserted, and a tvitem structure that defines the attributes of the item. the attributes include the item's label, its selected and nonse vel; // heading level // open the file to parse. if ((hf = createfile(lpszfilename, generic_read, file_share_read, (lpsecurity_attributes) null, open_existing, file_attribute_normal, (handle) null)) == (handle) invalid_handle_value) return false; // call private function to parse the file looking for headings. while ( getnextheadingandlevelfromfile(hf, szitemtext, &nlevel) ) // add // add the item to the tree-view control. hprev = (htreeitem) sendmessage(hwndtv, tvm_insertitem, 0, (lparam) (lptvinsertstruct) &tvins); // save the handle to the item. if (nlevel == 1) hprevrootitem = hprev; else if (nlevel == 2) hprevlev2item = hprev; // the new item is a child item. give the parent item a // closed folder bitmap to indicate it now has child items. if (nlevel > 1) { А если тебе нужно полное подобие explorer'ности, т.е. не только c: но и такие приятные вещички как network negihbourhood, printers и прочие папки (и их содержимое) которые не являются файлами, то стоит посмотреть msdn: enumerating items in the shell (там как раз пример с tree view +list view). cм. в booksprogamming windows 95 user interfacepart 3chapter fourteen А если это все на delphi, то там есть пример в demosvirtuallistview А что делает (long)"c:*.*"? А то я в си не очень. Кто знает че там в Дельфях надо написать? Примерно так: mask := '*.*'; sendmessage(hwnd, lb_dir, ddl_readwrite or ddl_directory, integer(mask));