BROWSEINFOW 結構 (shlobj_core.h)
包含 SHBrowseForFolder 函式的參數,並接收使用者所選取資料夾的相關信息。
語法
typedef struct _browseinfoW {
HWND hwndOwner;
PCIDLIST_ABSOLUTE pidlRoot;
LPWSTR pszDisplayName;
LPCWSTR lpszTitle;
UINT ulFlags;
BFFCALLBACK lpfn;
LPARAM lParam;
int iImage;
} BROWSEINFOW, *PBROWSEINFOW, *LPBROWSEINFOW;
成員
hwndOwner
類型: HWND
對話框之擁有者視窗的句柄。
pidlRoot
類型: PCIDLIST_ABSOLUTE
PIDL,指定要從中開始流覽之根資料夾的位置。 只有命名空間階層中的指定資料夾及其子資料夾會出現在對話框中。 此成員可以是 NULL;在此情況下,會使用預設位置。
pszDisplayName
類型: LPTSTR
緩衝區的指標,以接收用戶所選取之資料夾的顯示名稱。 此緩衝區的大小假設為MAX_PATH個字元。
lpszTitle
類型: LPCTSTR
在對話框中樹視圖控件上方顯示的 Null 終止字串指標。 此字串可用來指定使用者的指示。
ulFlags
類型: UINT
指定對話框選項的旗標。 這個成員可以是 0 或下列值的組合。 版本號碼是指 SHBrowseForFolder 所需的最低版本 Shell32.dll,以辨識更新版本中新增的旗標。 如需詳細資訊,請參閱 殼層和一般控件版本 。
BIF_RETURNONLYFSDIRS (0x00000001)
0x00000001。 只傳回檔案系統目錄。 如果使用者選取不屬於文件系統的資料夾, [確定 ] 按鈕會呈現灰色。
BIF_DONTGOBELOWDOMAIN (0x00000002)
0x00000002。 請勿在對話框的樹視圖控件中包含網域層級下方的網路資料夾。
BIF_STATUSTEXT (0x00000004)
0x00000004。 在對話框中包含狀態區域。 回呼函式可以藉由將訊息傳送至對話框來設定狀態文字。 指定BIF_NEWDIALOGSTYLE時,不支援此旗標。
BIF_RETURNFSANCESTORS (0x00000008)
0x00000008。 只傳回文件系統上階。 上階是命名空間階層中根資料夾下方的子資料夾。 如果使用者選取不屬於文件系統之根資料夾的上階, [確定 ] 按鈕會呈現灰色。
BIF_EDITBOX (0x00000010)
0x00000010。 4.71 版。 在瀏覽對話框中包含編輯控制件,讓使用者輸入項目的名稱。
BIF_VALIDATE (0x00000020)
0x00000020。 4.71 版。 如果使用者在編輯方塊中輸入無效的名稱,瀏覽對話方塊會使用BFFM_VALIDATEFAILED訊息呼叫應用程式的 BrowseCallbackProc。 如果未指定BIF_EDITBOX,則會忽略此旗標。
BIF_NEWDIALOGSTYLE (0x00000040)
0x00000040。 5.0 版。 使用新的使用者介面。 設定此旗標可為使用者提供可重設大小的較大對話框。 對話框有數個新功能,包括:對話框內的拖放功能、重新排序、快捷功能表、新資料夾、刪除和其他快捷方式功能表命令。
BIF_BROWSEINCLUDEURLS (0x00000080)
0x00000080。 5.0 版。 瀏覽對話框可以顯示URL。 也必須設定BIF_USENEWUI和BIF_BROWSEINCLUDEFILES旗標。 如果未設定這三個旗標的任何一個,瀏覽器對話框會拒絕URL。 即使已設定這些旗標,瀏覽對話方塊只會在包含所選取項目的資料夾支援URL時顯示URL。 呼叫資料夾的 IShellFolder::GetAttributesOf 方法以要求選取項目的屬性時,資料夾必須設定 SFGAO_FOLDER 屬性旗標。 否則,瀏覽對話框將不會顯示URL。
BIF_USENEWUI
5.0 版。 使用新的使用者介面,包括編輯方塊。 此旗標相當於BIF_EDITBOX |BIF_NEWDIALOGSTYLE。
BIF_UAHINT (0x00000100)
0x00000100。 6.0 版。 與BIF_NEWDIALOGSTYLE結合時,請將使用提示新增至對話方塊,以取代編輯方塊。 BIF_EDITBOX覆寫此旗標。
BIF_NONEWFOLDERBUTTON (0x00000200)
0x00000200。 6.0 版。 請勿在瀏覽對話框中包含 [ 新增資料夾 ] 按鈕。
BIF_NOTRANSLATETARGETS (0x00000400)
0x00000400。 6.0 版。 當選取的專案是快捷方式時,傳回快捷方式本身的 PIDL,而不是其目標。
BIF_BROWSEFORCOMPUTER (0x00001000)
0x00001000。 只傳回電腦。 如果使用者選取電腦以外的物件,則 [確定] 按鈕會變為灰色。
BIF_BROWSEFORPRINTER (0x00002000)
0x00002000。 只允許選取印表機。 如果使用者選取印表機以外的物件,則 [確定] 按鈕會變為灰色。
在 Windows XP 和更新版本中,最佳做法是使用 Windows XP 樣式對話方塊,將對話方塊的根目錄設定為 [ 印表機和傳真] 資料夾 (CSIDL_PRINTERS) 。
BIF_BROWSEINCLUDEFILES (0x00004000)
0x00004000。 4.71 版。 瀏覽對話框會顯示檔案和資料夾。
BIF_SHAREABLE (0x00008000)
0x00008000。 5.0 版。 瀏覽對話框可以在遠端系統上顯示可分享的資源。 這適用於想要在本機系統上公開遠端共享的應用程式。 也必須設定BIF_NEWDIALOGSTYLE旗標。
BIF_BROWSEFILEJUNCTIONS (0x00010000)
0x00010000。 Windows 7 和更新版本。 允許瀏覽資料夾連接點,例如連結庫或擴展名為 .zip 的壓縮檔。
lpfn
類型: BFFCALLBACK
當事件發生時,對話框所呼叫的應用程式定義函式指標。 如需詳細資訊,請參閱 BrowseCallbackProc 函式。 這個成員可以是 NULL。
lParam
類型: LPARAM
如果 lpfn 中指定了回呼函式,則對話框會傳遞至回呼函式的應用程式定義值。
iImage
類型: int
整數值,接收與所選取資料夾相關聯的影像索引,儲存在系統映射清單中。
備註
注意
shlobj_core.h 標頭會將 BROWSEINFO 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP、Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
標頭 | shlobj_core.h (包含 Shlobj.h、Shlobj_core.h) |