如何使用函数SelectDirectory(100分)

  • 主题发起人 主题发起人 黄立峰
  • 开始时间 开始时间

黄立峰

Unregistered / Unconfirmed
GUEST, unregistred user!
  请问如何用该函数显示以'整个网络'为根的目录树
 
function SelectDirectory(var Directory: string;<br>&nbsp; Options: TSelectDirOpts; HelpCtx: Longint): Boolean; overload;<br>function SelectDirectory(const Caption: string; const Root: WideString;<br>&nbsp; out Directory: string): Boolean; overload;<br>这些申明都在FileCtrl中,因此要在uses中加上FileCtrl
 
function SelectDirectory(const Caption: string; const Root: WideString;<br>&nbsp; out Directory: string): Boolean; overload;<br>//将Root值更改为"/"可获得最高级别的对话框(包括桌面,控制面板及打印机等项)。
 
利用SHGetSpecialFolderLocation取得网上邻居的ItemID,作为Root的参数传给下面的函数。<br><br>function BrowseForFolder(Caption: String; Root: PItemIDList;<br>&nbsp; Flags: Cardinal = 0): PItemIDList;<br>var<br>&nbsp; BrowseInfo: TBrowseInfo;<br>&nbsp; Buffer: PChar;<br>begin<br>&nbsp; FillChar(BrowseInfo, SizeOf(BrowseInfo), 0);<br>&nbsp; Buffer := SHAlloc(MAX_PATH);<br>&nbsp; with BrowseInfo do<br>&nbsp; begin<br>&nbsp; &nbsp; hwndOwner := Application.Handle;<br>&nbsp; &nbsp; pidlRoot := Root;<br>&nbsp; &nbsp; pszDisplayName := Buffer;<br>&nbsp; &nbsp; lpszTitle := PChar(Caption);<br>&nbsp; &nbsp; ulFlags := Flags;<br>&nbsp; end;<br>&nbsp; Result := SHBrowseForFolder(BrowseInfo);<br>&nbsp; SHFree(Buffer);<br>end;<br><br>
 
&nbsp;可否详细一些?
 
房客的解释够清楚了,不需要使用api
 
多人接受答案了。
 
后退
顶部