共用方式為


CWnd::DlgDirList

在檔案或目錄清單填入清單方塊。

int DlgDirList(
   LPTSTR lpPathSpec,
   int nIDListBox,
   int nIDStaticPath,
   UINT nFileType 
);

參數

  • lpPathSpec
    out 包含此路徑或檔名的 NULL 結尾字串的點。 DlgDirList 修改這個字串,應該夠長包含修改。 如需詳細資訊,請參閱下列的<備註>一節。

  • nIDListBox
    指定清單方塊的識別項。 如果 nIDListBox 為 0, DlgDirList 假設,清單方塊不存在並不會嘗試填滿。

  • nIDStaticPath
    指定用於靜態文字控制項的識別項會顯示目前的磁碟機和目錄。 如果 nIDStaticPath 為 0, DlgDirList 假設,這類文字控制項不存在。

  • nFileType
    指定要顯示的檔案的屬性。 可能是下列值的任何組合:

    • 沒有其他屬性的DDL_READWRITE 讀寫資料檔案。

    • DDL_READONLY 唯讀檔案。

    • DDL_HIDDEN 隱藏檔案。

    • DDL_SYSTEM 系統檔案。

    • DDL_DIRECTORY 目錄。

    • DDL_ARCHIVE 檔案。

    • DDL_POSTMSGS   LB_DIR 旗標。 如果 LB_DIR 旗標設定為,則視窗在應用程式的佇列中的 DlgDirList 產生的訊息;否則,它們會直接傳送至對話方塊的程序。

    • DDL_DRIVES 磁碟機。 如果 DDL_DRIVES 旗標設為, DDL_EXCLUSIVE 旗標自動設定。 因此,建立包含磁碟機和檔案的目錄清單,您必須呼叫兩次 DlgDirList :一次。 DDL_DRIVES 旗標集合一次包含清單的其餘部分的旗標。

    • DDL_EXCLUSIVE 獨佔位元。 如果獨佔位元設定為,在中,只有指定型別的檔案清單,則為指定之型別的一般檔案和檔案清單。

傳回值

如果不是零,則函式成功,則為 0。

備註

DlgDirList 傳送 LB_RESETCONTENTLB_DIR 資訊加入至清單方塊。 它會比對 lpPathSpec指定的路徑中所有檔案的名稱 nIDListBox 填入指定之清單方塊。

lpPathSpec 參數的形式如下:

[drive:] [ [\u]directory[\idirectory]... \u] [filename]

在此範例中, drive 是磁碟機代號, directory 是有效的目錄名稱,然後, 檔名 為至少必須包含一個萬用字元的有效的檔名。 萬用字元為問號 (?),就會比對任何字元和星號 (),表示*****符合任何數目的字元。

如果您為 lpPathSpec0 指定長度的字串,則為,如果只指定目錄名稱,但不包含任何檔案規格,字串會變更為「*.*」。

如果 lpPathSpec 包含磁碟機和目錄名稱,目前磁碟機和目錄變更為指定的磁碟機和目錄,在清單方塊中填入之前。 nIDStaticPath 判斷的文字控制項也會更新為新的磁碟機和目錄名稱。

在清單方塊中填入後, lpPathSpec 藉由移除路徑的磁碟機和目錄部分更新。

範例

// If pDialog points to a CDialog object with a list box
// with the identifier IDC_DIRLIST, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR path[MAX_PATH];
_tcscpy_s(path, MAX_PATH, _T("C:\\"));

pDialog->DlgDirList(path, IDC_DIRLIST, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);

需求

Header: afxwin.h

請參閱

參考

CWnd 類別

階層架構圖

CWnd::DlgDirListComboBox

DlgDirList