| |
|
|
- page 1 - |
|
Nico Madysa |
$H Windows.ph
$H Messages.ph
$I controls.prf
3 + 4 + 8
proc Add_Dir
parameters pfad$ , galerie% , p&
declare i%[14] , nextdir$
si (galerie% < 0)
p& = TV_AddItem(tv&,0,2,2,Laufwerk + pfad$ + \,i#[t%])
inc galerie%
inc t%
endif
ClearList
ClearList lb&[galerie%]
AddFiles pfad$ + \*
whileloop 0 , %GetCount
Match$(^~[.+~]$,ListBoxItem$(&loop))
si %MatchPos >= 0
AddStrings(lb&[galerie%],$Match)
endif
Endwhile
DeleteString(lb&[galerie%],Sélectionnez String(lb&[galerie%],(-1),[.]))
DeleteString(lb&[galerie%],Sélectionnez String(lb&[galerie%],(-1),[..]))
ClearList
MoveHandleToList(lb&[galerie%])
clear i%[galerie%]
tandis que i%[galerie%] < (GetCount(lb&[galerie%]))
nextdir$ = GetString$(lb&[galerie%],i%[galerie%])
nextdir$ = Mid $(nextdir$,2,len(nextdir$) - 2)
TV_AddItem(tv&,p&,0,1,nextdir$,i#[t%])
inc t%
si galerie% < 14
Add_Dir (pfad$ + \ + nextdir$) , (galerie% + 1) , i#[t% - 1].hItem&
endif
i%[galerie%] = i%[galerie%] + 1
Wend
endproc
proc finissons
FreeDLL shl&
il#.Destroy()
Dispose il#
Dispose i#[]
end
endproc
declare il# , tv& , tx& , shl& , i#[1999] , lb&[14] , t%
Faible i#[] , TV_Item
shl& = UseDll(SHELL32)
cls SysColor(15)
Titre de la fenêtre s'il te plaît attendre, erstelle Verzeichnisbaum...
whileloop 15
lb&[&loop - 1] = Créer(ListBox,%hWnd,1,0,0,0,0)
Endwhile
il# = New(ImageList)
il#.AddImage($SysPath + \Shell32.dll,3)
il#.AddImage($SysPath + \Shell32.dll,4)
il#.AddImage($SysPath + \Shell32.dll,8)
tv& = Créer(Treeview,%hWnd,il#.hList&,5,5,200,400)
Add_Dir C: , (-1) , 0 <-- ici den Laufwerksbuchstaben/Anfangspfad eingeben; am Ende darf ne...aucune Backslash stehen
TV_Expand tv& , i#[0].hItem&
SetText %hWnd , str$(t%) + Einträge im Treeview
whilenot IsKey(27)
waitinput
Wend
finissons
end
avec diesem Code wird un Treeview erzeugt et par Rekursion (suis je stolz, dass je cela hinbekommen habe! ) avec allen Verzeichnissen eines Conduire pleine. malheureusement ist cela très compliqué et dauert assez longtemps. Daher habe je deux Fragen: 1.) comment viele Einträge contient cela Treeview chez euch maximum? (Steht pour dem magasin dans qui Titelleiste) Mir ca va tout autor, trop savons, si qui Handles reichen. 2.) Gibt es pas irgendeinen einfacheren Weg? dans qui Win32.hlp habe je rien trouvé et Assembler kenne je mich sonderlich aus. Könnte on cela so beschleunigen? |
|
|
| |
|
|
|
| |
|
- page 2 - |
|
GDL |
|
|
| |
|
|
|
| Leg simple Laufwerke à Horst!
Start → Effectuer → %comspec% [enter] subst /? [enter] |
|
|
| |
|
|
|
Jörg Sellmeyer | allô Horst, tu peux cela oui selber avec beliebig vielen Laufwerken einrichten. simple sous Start -> Effectuer so souvent Subst M: C:Windows eingeben jusqu'à Du entweder genügend la hâte ou bien cela Limit de 26 erreicht ist. Bien sûr doit qui Laufwerksbuchstabe toujours un anderer et un freies Laufwerk son. tu peux aussi autre Dossier comme virtuelles Laufwerk prendre mais cela doit pas son.
Ok, iF était plus rapide |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 26.04.2007 ▲ |
|
|
|
|
| @ iF + Jörg OK - et comment bekomme je qui Laufwerke wieder weg ? |
|
|
| |
|
|
|
Jörg Sellmeyer | Subst /D M: Pour einem Neustart sommes mais sowieso alle wieder weg. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 26.04.2007 ▲ |
|
|
|
|
| merci Funktioniert Siehe Bild |
|
|
| |
|
|
|
Nico Madysa | OK, erstmal merci pour qui vielen répondre. Den Tip avec dem magasin qui Dossier si es nötig ist, werde je sur jeden le cas umsetzen (là mir déjà so viele gens en supplément geraten avons ) AddFiles.dll et qui Message werde je mir sur jeden le cas aussi regarder.
qui faute cela Element gibt es pas. ist simple trop expliquer: qui Code füllt qui Element-Handles des Treeviews dans un Array, le moi vorläufig sur 2000 Handles begrenzt habe, mais c'est oui encore erweiterbar. qui zweite faute c'est moi pas erklärbar; par cela intercepter de galerie% sollte qui maximale Rekursionstiefe eigentlich pas überschritten volonté. mais si je qui Dossier seulement zur Laufzeit lade, hätte sich cela Problem sowieso erledigt.
@Frank: comment viens je à cela Handle qui System-Imagelist? sans dem komm je plutôt mal à qui liste heran. |
|
|
| |
|
|
|
| So comment je cela beim Überfliegen gesehen habe pourrait galerie% pas toujours den gewünschten Zweck rencontrer. Besser chez solchen Rekursionsgeschichten pourrait folgendes son: KompilierenMarqueSéparation |
|
|
|
| |
|
- page 3 - |
|
|
Nico Madysa | j'ai avec einer globalen Variablen aucun Probleme, ist schließlich mon eigener Code. |
|
|
| |
|
|
|
| @Nico
@Frank: comment viens je à cela Handle qui System-Imagelist? sans dem komm je plutôt mal à qui liste heran.
Frank ist anscheinend pas là - geb je Dir arrêt Auskunft: Guck doch la fois dans qui LISTVIEW-Aider sous CreateImageList(F,B) pour - là steht alles weitere |
|
|
| |
|
|
|
Frank Abbing | Nico wills doch sans Dll faire...
allez sur qui API SHGetFileInfo(), Nico. là bekommst du une Pointer sur une Kopie qui SystemImageList. un Pointer sur cela Original allez aussi, mais seulement sur deux undokumentierte APIs aus qui SHELL32. cela lass rester. qui Kopie contient aussi presque alle Icônes. |
|
|
| |
|
|
|
Nico Madysa | Alles bien sûr, merci. je hab maintenant incidemment encore ne neue concept, qui l'élection pas à den ChooseDir- mais à den LoadFile-Dialog anzulehnen, sprich, eijn Listview, statt einem Treeview erstellen. ensuite dauert aussi cela magasin pas so long. |
|
|
| |
|
|