線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1354
推到 Plurk!
推到 Facebook!

用shell函數選擇目錄和函數

 
jackkcg
站務副站長


發表:891
回覆:1050
積分:848
註冊:2002-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-26 15:56:20 IP:61.64.xxx.xxx 未訂閱
此為轉貼資料 用shell函數選擇目錄和函數 原作者:先鋒 (http://www.tommstudio.com/newclub30/) -------------------------------------------------------------------------------- 關於實現目錄選擇功能,已經在一篇技巧《如何使用Windows95風格的目錄選擇對話方塊》 中有所介紹。那篇文章講述的是用delphi提供的一個函數來實現的,現在要講的是使用shell函數來實現。這裏給出一個程式例子,更深入的研究請參見《Win32 Developer's References》。 uses shlobj; function selectdir:string; //如果取消取返回?空,否則返回選中的路徑 var Info: TBrowseInfo; IDList: pItemIDList; Buffer: PChar; begin result:=''; Buffer := StrAlloc(MAX_PATH); with Info do begin hwndOwner := application.mainform.Handle; //目錄對話方塊所屬的視窗控制碼 pidlRoot := nil; //起始位置,缺省?我的電腦 pszDisplayName := Buffer; //用於存放選擇目錄的指標 lpszTitle := '請選擇路徑:'; //對話方塊提示資訊 ulFlags := BIF_RETURNONLYFSDIRS or BIF_BROWSEINCLUDEFILES; //選擇參數,此處表示顯示目錄和文件,如果只顯示目錄則將後一個去掉即可 lpfn := nil; //指定回調函數指標 lParam := 0; //傳遞給回調函數參數 IDList := SHBrowseForFolder(Info); //讀取目錄資訊 end; if IDList <> nil then begin SHGetPathFromIDList(IDList, Buffer); //將目錄資訊轉化?路徑字串 result := strpas(Buffer); end; StrDispose(buffer); end; 注: 附上可用的選擇標誌的說明: BIF_BROWSEFORCOMPUTER 只能選中電腦的名字,選擇其他,OK按鈕?灰 BIF_BROWSEFORPRINTER 只能選中印表機的名字,選擇其他,OK按鈕?灰 BIF_DONTGOBELOWDOMAIN 在功能變數名稱級別下面不包括網路文件夾 BIF_RETURNFSANCESTORS 只能選中文件系統結點,選擇其他,OK按鈕?灰 BIF_RETURNONLYFSDIRS 只能選中目錄,選擇其他,OK按鈕?灰 BIF_STATUSTEXT 在對話方塊裏包含一個狀態文本,回調函數可以給對話方塊 發送消息 BIF_BROWSEINCLUDEFILES 可以顯示文件,同時可以選中 ********************************************************* 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together! 希望能大家敞開心胸,將知識寶庫結合一起
------
**********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好

Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind
系統時間:2024-05-04 9:12:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!