阿
阿魁
Unregistered / Unconfirmed
GUEST, unregistred user!
原始问题:http://www.delphibbs.com/delphibbs/dispq.asp?lid=665455<br><br>我查了fileCtrl.pas的源代码,找到了他使用的api:SHBrowseForFolder,我想要的就是他!<br><br>我的程序如下:<br>[purple]var<br> pid : PItemIDList;<br> bi : TBrowseInfo;<br> savepath : string;<br>begin<br> setLength(savepath,255);<br> FillChar(bi,sizeof(bi),0);<br> bi.hwndOwner := self.Handle;<br> bi.pidlRoot := nil;<br> bi.pszDisplayName := pchar(savepath); //??????<br> bi.lpszTitle := '选择自动抓取的图像的存放路径:';<br> bi.ulFlags := BIF_RETURNONLYFSDIRS;<br> pid := SHBrowseForFolder(bi);<br> if pid<>nil then<br> begin<br> SHGetPathFromIDList(pid,pchar(savepath));<br> setLength(savepath,strlen(pchar(savepath)));<br> edtSavePath.Text := savepath;<br> end;<br>end;[/purple]<br>==============================================================<br>但还有几个问题:<br>1.我不知如何设置初始目录;<br>2.我不知道 bi.pszDisplayName := pchar(savepath); 这一句目的何在。如果不加的话,会出现莫名其妙的问题;<br>3.FillChar(bi,sizeof(bi),0); 这一句有为什么呢?<br><br>题外话:看来大富翁里熟悉 WIN32 SDK的还是太少了。<br>