Savant Napisano Sierpień 12, 2018 Autor Zgłoś Udostępnij Napisano Sierpień 12, 2018 Chce napisac program w stylu Exploratora Windows.Wobec tego mam pytanie: Jak zrobic aby w Polu ListView (w ktorym beda widoczne dyski i katalogi) wyswietlac katalogi a w polu obok (bedzie to editbox) wyswietlac liste plikow w danym katalogu? Z góry dziękuje za każdą pomoc. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Sierpień 13, 2018 Zgłoś Udostępnij Napisano Sierpień 13, 2018 Jezeli chodzi o TreeView to opis jak wpisywac dane masz na stronie głównej tego portalu, gdzie sa opisane kolejno lekcje roznych kontrolek(w tym przypadku lekcja Tree-View autorstwa salwadore). Jesli chodzi o ListBox to radzil bym Ci wykorzystac ListView, który tez ma tam swoj opis (ListBox oczywiscie tez). Dlaczego, a no dlatego, ze jezeli urzyjesz jednak ListBox i bedziesz chcial zeby w nim byly widoczne ikony plików, to bedziesz mu musial nadac styl LBS_OWNERDRAWFIXED lub LBS_OWNERDRAWVARIABLE i obsluzyc raz komunikat WM_MEASUREITEM i za kazdym razem odmalowania WM_DRAWITEM. Nie wiem czy chcesz w swojej pracy uzyc cienkiego okienka, ktore bedzie dzielilo te dwa okna i za pomoca niego bedzie mozna proporcjonowac dwa okienka wzgledem siebie. Jesli tak, to po utowrzeniu nowego okna, ktory bedzie reprezentowal ten pasek, musisz w nim obslurzyc komunikat WM_LBUTTONDOWN i WM_LBUTTONUP. Gdy okno wybada ze w myszce jest wcisniety lewy klawisz bedziesz musial dodac funkcje SetCapture dla tego okna i zwolnic ja przy podniesieniu klawisza (ReleaseCapture). Oczywiscie pozostaje ci obsluzyc komunikat odpowiadajacy za ruch myszki, aby dyspropprcionowac wspomniane okna i przesowac okienko je dzielace. Jezeli chodzi o sprawdzanie ilosci dyskow dostepnych na komputerze (aby je dodac do treeview) to wykorzystaj funkcje GetDriveType, a przeszukujac katalogi masz dostepna funkcje FindFirstFile, FindNextFile i FindClose. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Jarema Napisano Sierpień 13, 2018 Zgłoś Udostępnij Napisano Sierpień 13, 2018 Co do drzewka katalogow to mam pewne doswiadczenie :). (patrz: temat zapis struktury dynamiczne). Wlasnie tak bym radzil ci to zrobic. Przeszukujesz caly dysk i katalogi wpisujesz do takiej "listy list". Potem to bardzo łatwo można wpisać do Tree-View. I kłopot masz załatwiony. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Sierpień 13, 2018 Zgłoś Udostępnij Napisano Sierpień 13, 2018 Ale radzil bym calego drzewa katalogow nie robic od razu. Profesionalnie robi sie tak, ze najpierw sie ukazuje katalogi glowne na dysku. Jesli ktos kliknie na dany katalog aby go rozwinac dopiero wtedy odczytujemy katalogi tegoz katalogu (bez zaglebiania sie dalej). Jest to spowodowane tym, ze jak masz duzo podkatalogow to bedziesz musial dlugo czekac az treeview zczyta wszystkie katalogi. A w dodatku jesli chcesz tam wstawic ikonki folderow to juz morderstwo. Na marginesie w listview robi sie tez tak, ze wczytuje sie poczatkowo tylko tyle katalogow, zeby byly one widoczne. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Gucio Napisano Sierpień 13, 2018 Zgłoś Udostępnij Napisano Sierpień 13, 2018 Tak sie robi w nowych OS'ah (Niech ktos odpali Win95 lub WinNT 4). Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.