Bagikan melalui


Fungsi DlgDirListComboBoxA (winuser.h)

Mengganti konten kotak kombo dengan nama subdirektori dan file dalam direktori tertentu. Anda dapat memfilter daftar nama dengan menentukan sekumpulan atribut file. Daftar nama dapat mencakup huruf kandar yang dipetakan.

Sintaks

int DlgDirListComboBoxA(
  [in]      HWND  hDlg,
  [in, out] LPSTR lpPathSpec,
  [in]      int   nIDComboBox,
  [in]      int   nIDStaticPath,
  [in]      UINT  uFiletype
);

Parameter

[in] hDlg

Jenis: HWND

Handel ke kotak dialog yang berisi kotak kombo.

[in, out] lpPathSpec

Jenis: LPTSTR

Penunjuk ke buffer yang berisi string yang dihentikan null yang menentukan jalur absolut, jalur relatif, atau nama file. Jalur absolut dapat dimulai dengan huruf drive (misalnya, d:) atau nama UNC (misalnya, \\machinename\sharename).

Fungsi membagi string menjadi direktori dan nama file. Fungsi ini mencari direktori untuk nama yang cocok dengan nama file. Jika string tidak menentukan direktori, fungsi akan mencari direktori saat ini.

Jika string menyertakan nama file, nama file harus berisi setidaknya satu karakter kartubebas (? atau ). Jika string tidak menyertakan nama file, fungsi akan berulah seolah-olah Anda telah menentukan karakter kartubebas tanda bintang () sebagai nama file. Semua nama dalam direktori yang ditentukan yang cocok dengan nama file dan memiliki atribut yang ditentukan oleh parameter uFiletype ditambahkan ke daftar yang ditampilkan dalam kotak kombo.

[in] nIDComboBox

Jenis: int

Pengidentifikasi kotak kombo dalam kotak dialog hDlg . Jika parameter ini nol, DlgDirListComboBox tidak mencoba mengisi kotak kombo.

[in] nIDStaticPath

Jenis: int

Pengidentifikasi kontrol statis dalam kotak dialog hDlg . DlgDirListComboBox mengatur teks kontrol ini untuk menampilkan drive dan direktori saat ini. Parameter ini bisa nol jika Anda tidak ingin menampilkan drive dan direktori saat ini.

[in] uFiletype

Jenis: UINT

Sekumpulan bendera bit yang menentukan atribut file atau direktori yang akan ditambahkan ke kotak kombo. Parameter ini bisa menjadi kombinasi dari nilai berikut.

Nilai Makna
DDL_ARCHIVE
Termasuk file yang diarsipkan.
DDL_DIRECTORY
Termasuk subdirektori, yang diapit dalam tanda kurung siku ([ ]).
DDL_DRIVES
Semua drive yang dipetakan ditambahkan ke daftar. Drive tercantum dalam formulir [-x-], di mana x adalah huruf kandar.
DDL_EXCLUSIVE
Hanya menyertakan file dengan atribut yang ditentukan. Secara default, file baca/tulis dicantumkan meskipun DDL_READWRITE tidak ditentukan.
DDL_HIDDEN
Termasuk file tersembunyi.
DDL_READONLY
Menyertakan file baca-saja.
DDL_READWRITE
Termasuk file baca/tulis tanpa atribut tambahan. Ini adalah pengaturan default.
DDL_SYSTEM
Termasuk file sistem.
DDL_POSTMSGS
Jika bendera ini diatur, DlgDirListComboBox menggunakan fungsi PostMessage untuk mengirim pesan ke kotak kombo. Jika bendera ini tidak diatur, DlgDirListComboBox menggunakan fungsi SendMessage .

Nilai kembali

Jenis: int

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Misalnya, jika string yang ditentukan oleh lpPathSpec bukan jalur yang valid, fungsi akan gagal. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Jika lpPathSpec menentukan direktori, DlgDirListComboBox mengubah direktori saat ini ke direktori yang ditentukan sebelum mengisi kotak kombo. Teks kontrol statis yang diidentifikasi oleh parameter nIDStaticPath diatur ke nama direktori baru saat ini.

DlgDirListComboBox mengirim pesan CB_RESETCONTENT dan CB_DIR ke kotak kombo.

Microsoft Windows NT 4.0 dan yang lebih baru: Jika uFiletype menyertakan bendera DDL_DIRECTORY dan lpPathSpec menentukan direktori tingkat pertama, seperti C:\TEMP, kotak kombo akan selalu menyertakan entri ".." untuk direktori akar. Ini benar meskipun direktori akar memiliki atribut tersembunyi atau sistem dan bendera DDL_HIDDEN dan DDL_SYSTEM tidak ditentukan. Direktori akar volume NTFS memiliki atribut tersembunyi dan sistem.

Peringatan Keamanan: Menggunakan fungsi ini secara tidak benar dapat membahayakan keamanan program Anda. Penggunaan fungsi ini yang salah termasuk memiliki lpPathSpec menunjukkan buffer yang tidak dapat ditulis, atau buffer tanpa penghentian null. Anda harus meninjau Pertimbangan Keamanan: Kontrol Microsoft Windows sebelum melanjutkan.

Microsoft Windows NT 4.0 dan yang lebih baru: Daftar menampilkan nama file panjang, jika ada.

Windows 95 atau yang lebih baru: Daftar menampilkan nama file pendek (formulir 8.3). Anda dapat menggunakan fungsi SHGetFileInfo atau GetFullPathName untuk mendapatkan nama file panjang yang sesuai.

Windows 95 atau yang lebih baru: DlgDirListComboBoxW didukung oleh Lapisan Microsoft untuk Unicode. Untuk menggunakan ini, Anda harus menambahkan file tertentu ke aplikasi Anda, seperti yang diuraikan dalam Microsoft Layer for Unicode pada Sistem Windows Me/98/95.

Catatan

Header winuser.h mendefinisikan DlgDirListComboBox sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosem UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header winuser.h (termasuk Windows.h)
Pustaka User32.lib
DLL User32.dll

Lihat juga

DlgDirList

DlgDirSelectComboBoxEx

Referensi