Laufwerke, Ordner und Dateien in ListBox anzeigen

Laufwerke, Ordner und Dateien in ListBox anzeigen via SendMessage
Das FileListBox-Steuerelement ist ziemlich langsam. Windows stellt für Listenfelder einen eigenen Darstellungsmodus zur Verfügung, bei dem Laufwerke, Ordner und Dateien wahlweise angezeigt werden können. In folgendem Beispiel bezeichnet List1 ein ListBox-Steuerelement:
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByRef lParam As String) As Long
Private Const LB_DIR As Long = &H18D& ListBox für Dateianzeige.
Private Const DDL_READWRITE As Long = &H0& Dateien ohne spezielle Attribute anzeigen.
Private Const DDL_READONLY As Long = &H1& Schreibgeschützte Dateien anzeigen.
Private Const DDL_HIDDEN As Long = &H2& Versteckte Dateien anzeigen.
Private Const DDL_SYSTEM As Long = &H4& Systemdateien anzeigen.
Private Const DDL_DIRECTORY As Long = &H10& Ordner anzeigen.
Private Const DDL_ARCHIVE As Long = &H20& Archivierte Dateien anzeigen.
Private Const DDL_DRIVES As Long = &H4000& Laufwerke anzeigen.
' Nur Dateien mit dem gewünschten Attribut anzeigen, sonst werden Dateien ohne spezielle
' Attribute immer angezeigt.
Private Const DDL_EXCLUSIVE As Long = &H8000&
'Der Einsatz wäre mit dem folgenden Code möglich: die Konstanten werden nacheinander in separaten Aufrufen von 'SendMessage' gesendet, da sonst keine Sortierung nach Laufwerken, Ordnern und Dateien erfolgt.
' Laufwerke hinzufügen.
Call SendMessage(Form1.List1.hWnd, LB_DIR, _
DDL_DRIVES Or DDL_EXCLUSIVE, ByVal "C:\*.*")
' Ordner hinzufügen.
Call SendMessage(Form1.List1.hWnd, LB_DIR, _
DDL_DIRECTORY Or DDL_EXCLUSIVE, ByVal "C:\*.*")
' Dateien ohne spezielle Attribute hinzufügen.
Call SendMessage(Form1.List1.hWnd, LB_DIR, 0&, ByVal "C:\*.*")
           
Sponsoren und Investoren

Sponsoren und Investoren sind jederzeit herzlich willkommen! Wenn Sie die Information(en) auf diesen Seiten interessant fanden, freuen wir uns über Ihren Förderbeitrag. Empfehlen Sie uns auch gerne in Ihren Netzwerken. Herzlichen Dank!

Nutzen Sie unsere Suchfunktion:

Nach oben Sitemap
Impressum Datenschutz

Hinweis: Diese Webseite kann Werbeanzeigen und Werbeeinblendungen oder eingebundene Links von Diensten und Inhalten Dritter enthalten. Beachten Sie dazu unsere Datenschutzerklärung.