怎樣限制 Save Dialog 的路徑? |
尚未結案
|
KFC123_60201
一般會員 發表:58 回覆:18 積分:15 註冊:2006-07-25 發送簡訊給我 |
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
Open/Save Dialog 基礎元件好像不可以這樣做
必須自己設計,或修改 Open/Save Dialog 基礎的元件 ===================引 用 KFC123_60201 文 章=================== 請問怎樣限制 Save Dialog 的路徑衹可以在某個指定的路徑下?例如,指定d:\abc\efg 為頂級目錄,則衹允許留在efg 中或跳它的的下級目錄中,但不能跑到efg 的上級目錄或其它path 去。 |
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
您好
貼給您RootKit之前回應的文章,或許是個思考方向 http://delphi.ktop.com.tw/board.php?cid=30&fid=71&tid=93072 ===================引 用 KFC123_60201 文 章=================== 請問怎樣限制 Save Dialog 的路徑衹可以在某個指定的路徑下?例如,指定d:\abc\efg 為頂級目錄,則衹允許留在efg 中或跳它的的下級目錄中,但不能跑到efg 的上級目錄或其它path 去。 |
KFC123_60201
一般會員 發表:58 回覆:18 積分:15 註冊:2006-07-25 發送簡訊給我 |
謝謝你的回覆。我看了那些代碼,也作了測試,那段代碼似乎可以屏蔽不想看到的文件,但無法限制頂級目錄的位置,也就是說最上層目錄衹能為默認的 Recent 、桌面等等,而不能是任意的其它目錄,即使把當前目錄設為其它任意的目錄,但還是可以切換到”更上層”的目錄去,這不是我想要的。我想修改一下TOpenDialog/TSaveDialog的代碼來實現這個功能,但不知怎樣下手!
===================引 用 pedro 文 章=================== 您好 貼給您RootKit之前回應的文章,或許是個思考方向 http://delphi.ktop.com.tw/board.php?cid=30&fid=71&tid=93072 ===================引 用 KFC123_60201 文 章=================== 請問怎樣限制 Save Dialog 的路徑衹可以在某個指定的路徑下?例如,指定d:\abc\efg 為頂級目錄,則衹允許留在efg 中或跳它的的下級目錄中,但不能跑到efg 的上級目錄或其它path 去。 |
RootKit
資深會員 發表:16 回覆:358 積分:419 註冊:2008-01-02 發送簡訊給我 |
參照 Delphi 源碼做就可以了。
隱藏 「移至上一層」 Button.cbSize := SizeOf(TTBButtonInfo); Button.dwMask := TBIF_STATE; Button.fsState := TBSTATE_HIDDEN or TBSTATE_INDETERMINATE; hCltWnd := FindWindowEx(hWndMain, 0,'ToolbarWindow32', nil); if hCltWnd <> 0 then SendMessage(hCltWnd, TB_SETBUTTONINFO,TB_BTN_UPONELEVEL,Windows.LParam(@Button)); Diable 檔案名稱 hCltWnd := GetDlgItem(hWndMain,1152); if hCltWnd <> 0 then EnableWindow(hCltWnd,False); Diable 路徑 hCltWnd := GetDlgItem(hWndMain,1137); if hCltWnd <> 0 then EnableWindow(hCltWnd,False);
編輯記錄
RootKit 重新編輯於 2009-11-10 22:17:10, 註解 無‧
|
KFC123_60201
一般會員 發表:58 回覆:18 積分:15 註冊:2006-07-25 發送簡訊給我 |
感謝呀,這個問題困擾了我很久,終於解決了。 還有一個問題,我們可以在OpenDialog啟動前設定InitialDir,來指定初始當前目錄,但在它開啟後能不能動態地指定目前的目錄?我試過直接指定 InitialDir ,但沒有效 ===================引 用 RootKit 文 章=================== 參照 Delphi 源碼做就可以了。 隱藏 「移至上一層」 Button.cbSize := SizeOf(TTBButtonInfo); Button.dwMask := TBIF_STATE; Button.fsState := TBSTATE_HIDDEN or TBSTATE_INDETERMINATE; hCltWnd := FindWindowEx(hWndMain, 0,'ToolbarWindow32', nil); if hCltWnd <> 0 then SendMessage(hCltWnd, TB_SETBUTTONINFO,TB_BTN_UPONELEVEL,Windows.LParam(@Button)); Diable 檔案名稱 hCltWnd := GetDlgItem(hWndMain,1152); if hCltWnd <> 0 then EnableWindow(hCltWnd,False); Diable 路徑 hCltWnd := GetDlgItem(hWndMain,1137); if hCltWnd <> 0 then EnableWindow(hCltWnd,False); |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |