DlgDirListW 函式 (winuser.h)
以指定目錄中的子目錄和檔案名稱取代清單框的內容。 您可以藉由指定一組檔案屬性來篩選名稱清單。 清單可以選擇性地包含對應的磁碟驅動器。
語法
int DlgDirListW(
[in] HWND hDlg,
[in, out] LPWSTR lpPathSpec,
[in] int nIDListBox,
[in] int nIDStaticPath,
[in] UINT uFileType
);
參數
[in] hDlg
類型:HWND
包含清單框之對話框的句柄。
[in, out] lpPathSpec
類型:LPTSTR
緩衝區的指標,其中包含以 Null 結尾的字串,指定絕對路徑、相對路徑或檔名。 絕對路徑的開頭可以是驅動器號(例如 d:) 或 UNC 名稱(例如\ machinename
sharename)。
函式會將字串分割成目錄和檔名。 函式會搜尋目錄,以尋找符合檔名的名稱。 如果字串未指定目錄,函式會搜尋目前的目錄。
如果字串包含檔名,檔名必須至少包含一個通配符(或 )。如果字串不包含檔名,函式的行為就如同您已將星號通配符 () 指定為檔名一樣。 指定目錄中符合檔名且具有 uFileType 參數所指定屬性的所有名稱都會新增至清單框。
[in] nIDListBox
類型:int
hDlg 對話框中清單框的標識碼。 如果此參數為零,DlgDirList 不會嘗試填滿清單框。
[in] nIDStaticPath
類型:int
[hDlg] 對話框中靜態控件的標識符。 DlgDirList 設定此控件的文字以顯示目前的磁碟驅動器和目錄。 如果您不想顯示目前的磁碟驅動器和目錄,此參數可以是零。
[in] uFileType
類型:UINT
指定要加入清單框之檔案或目錄的屬性。 此參數可以是下列其中一或多個值。
價值 | 意義 |
---|---|
|
包含封存的檔案。 |
|
包含子目錄。 子目錄名稱會以方括弧 ([ ]) 括住。 |
|
所有對應的磁碟驅動器都會新增至清單。 磁碟驅動器會以 [- x-] 的形式列出,其中 x 是驅動器號。 |
|
只包含具有指定屬性的檔案。 根據預設,即使未指定DDL_READWRITE,讀取/寫入檔案仍會列出。 |
|
包含隱藏的檔案。 |
|
包含唯讀檔案。 |
|
包含沒有其他屬性的讀取/寫入檔案。 這是預設設定。 |
|
包含系統檔案。 |
|
如果設定,DlgDirList 會使用 PostMessage 函式將訊息傳送至清單框。 如果未設定, |
傳回值
類型:int
如果函式成功,則傳回值為非零值。
如果函式失敗,傳回值為零。 例如,如果 lpPathSpec 所指定的字串 不是有效的路徑,則函式會失敗。 若要取得擴充的錯誤資訊,請呼叫 。
言論
如果 lpPathSpec 指定目錄,DlgDirListComboBox 在填入清單方塊之前,將目前目錄變更為指定的目錄。 nIDStaticPath 參數所識別的靜態控件文字會設定為新當前目錄的名稱。
DlgDirList 會將 LB_RESETCONTENT 和 LB_DIR 訊息傳送至清單框。
如果 uFileType 包含DDL_DIRECTORY旗標,lpPathSpec 指定第一層目錄,例如 C:\TEMP,清單框一律會包含根目錄的 “..”。 即使根目錄有隱藏或系統屬性,而且未指定DDL_HIDDEN和DDL_SYSTEM旗標,也是如此。 NTFS 磁碟區的根目錄具有隱藏和系統屬性。
目錄清單會顯示長檔名,如果有的話。
例子
如需範例,請參閱下列主題:在單選清單框中建立目錄清單,建立多重選取清單框。
注意
winuser.h 標頭會將 DlgDirList 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | winuser.h (包括 Windows.h) |
連結庫 | User32.lib |
DLL | User32.dll |
另請參閱
參考