共用方式為


DlgDirSelectExA 函式 (winuser.h)

從單一選取清單框中擷取目前的選取範圍。 它假設清單框已由 DlgDirList 函式填滿,而且選取範圍是驅動器號、檔名或目錄名稱。

語法

BOOL DlgDirSelectExA(
  [in]  HWND  hwndDlg,
  [out] LPSTR lpString,
  [in]  int   chCount,
  [in]  int   idListBox
);

參數

[in] hwndDlg

類型: HWND

包含清單框之對話框的句柄。

[out] lpString

類型: LPTSTR

接收所選取路徑之緩衝區的指標。

[in] chCount

類型: int

lpString 所指向之緩衝區的長度,以 TCHAR 為單位。

[in] idListBox

類型: int

對話框中清單框的識別碼。

傳回值

類型: BOOL

如果目前的選取範圍是目錄名稱,則傳回值為非零。

如果目前的選取範圍不是目錄名稱,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

DlgDirSelectEx 函式會將選取範圍複製到 lpString 參數指向的緩衝區。 如果目前的選取範圍是目錄名稱或驅動器號, DlgDirSelectEx 會移除 (和連字元的括住方括弧,以便) 驅動器號,以便將名稱或字母插入新路徑。 如果沒有選取範圍, lpString 就不會變更。

如果字串長度或長度超過緩衝區,緩衝區將會包含具有終止 Null 字元的截斷字串。

DlgDirSelectEx 會將 LB_GETCURSELLB_GETTEXT 訊息傳送至清單框。 函式不允許從清單框傳回多個檔名。 清單框不得為多重選取清單框。 如果是,此函式不會傳回零值,而且 lpString 保持不變。

Windows 95 或更新版本:適用於 Unicode 的 Microsoft Layer 支援 DlgDirSelectExW 。 若要使用此功能,您必須將特定檔案新增至您的應用程式,如 Windows Me/98/95 Systems 上的 Microsoft Layer for Unicode 中所述。

範例

如需範例,請參閱 在單一選取清單框中建立目錄清單

注意

winuser.h 標頭會將 DlgDirSelectEx 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 winuser.h (包含 Windows.h)
程式庫 User32.lib
Dll User32.dll

另請參閱

DlgDirList

DlgDirListComboBox

DlgDirSelectComboBoxEx

LB_GETCURSEL

LB_GETTEXT

參考