| |
|
|
|
Beschreibung:
DlgDirListComboBox füllt eine Combobox mit den Inhalten eines Ordners. Die Funktion füllt die Combobox mit allen File, Laufwerken und Unterordnern, die den angegebenen Attributen entsprechen. Unter nicht NT-basierten Systemen gibt die Funktion kurze File und Ordnernamen zurück.
Deklaration:
DEF @DlgDirListComboBox(5) !User32,DlgDirListComboBoxA
Parameter:
1.Parameter: Handle des Fensters, auf dem die Combobox platziert ist. 2.Parameter: Adresse eines Strings oder Bereichsvariable mit einem String, der einen zu durchsuchenden Ordner (evtl. mit einem Dateinamen) enthält. Die Funktion wechselt das aktuelle Verzeichnis in den angegebenen Ordner. 3.Parameter: Die ID der zu füllenden Combobox als Integer. 4.Parameter: ID eines Static Controls, das den aktuellen Suchpfad ausgeben soll. 5.Parameter: Flags per die Dateiattribute der zu suchenden File. Verschiedene Flags können mit | addiert werden. -$20 = Archiv -$10 = Verzeichnis -$4000 = Laufwerke -$8000 = Ausschließlich Ergebnisse mit allen angegebenen Attributen listen. -$2 = Versteckt -$1 = Schreibgeschützt -$0 = Lese- und Schreibzugriff -$4 = System -$2000 = Messages werden von der Funktion an Hauptfenster und nicht an die Combobox gesendet.
Rückgabewert:
Bei Misserfolg 0, ansonsten <>0.
Beispiele:
KompilierenMarkierenSeparierenWINDOWSTYLE 31
WINDOWTITLE "Dateibrowser"
WINDOW 0,0-640,440
DEF @DlgDirListComboBox(5) !"User32","DlgDirListComboBoxA"
DEF @DlgDirSelectComboBoxEx(4) !"User32","DlgDirSelectComboBoxExA"
Declare Liste&,Suchstring$,TEXT&,Auswahl#,DLGDIR&
LET LISTE&=@Control("ComboBox","",$40000+$40000000+$10000000+$200000+$100000,20,40,300,300,%HWND,2111,%HINSTANCE)
LET TEXT&=@Control("STATIC","",$40000000+$10000000,20,20,300,20,%HWND,2112,%HINSTANCE)
LET Suchstring$="*.*"
@DlgDirListComboBox(%HWND,@addr(Suchstring$),2111,2112,$4000+1+2+4+$10+$20)
While 0=0
Getmessage
IF %LastMessage=515
DIM Auswahl#,500
LET DLGDIR&=@DlgDirSelectComboBoxEx(%HWND,Auswahl#,500,2111)
IF DLGDIR&=1
CHDIR @string$(Auswahl#,0)
ENDIF
Dispose Auswahl#
@DlgDirListComboBox(%HWND,@addr(Suchstring$),2111,2112,$4000+1+2+4+$10+$20)
endif
wend
|
|
|
| |
|
|