全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:4732
推到 Plurk!
推到 Facebook!

bcb有關filelistbox,directorylistbox的即時更新

尚未結案
ddaken
一般會員


發表:39
回覆:33
積分:19
註冊:2005-01-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-03-15 18:41:58 IP:61.230.xxx.xxx 訂閱
請問各位大大,
使用bcb的元件filelistbox,directorylistbox等,
有辦法做到像檔案總管一樣,如果c磁碟自己開一個資料夾或檔案,
filelistbox,directorylistbox等也可以自動更新嗎??
有沒有大大有相關的範例或是方法可以說明呢??
謝謝~~

編輯記錄
taishyang 重新編輯於 2007-06-01 13:35:21, 註解 將文章分類成[問題]‧
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-03-15 20:59:53 IP:211.22.xxx.xxx 未訂閱
使用TShellTreeView與TShellListView吧!就是檔案總管功能的包裝,BCB的元件盤上面並無內建請自己加上去,加上後會在Samples的頁籤上面。這些元件的安裝Package在:BCB的安裝目錄\Examples\ShellControls裡面,裝上後查一下KTOP裡面應用範例很多。
ddaken
一般會員


發表:39
回覆:33
積分:19
註冊:2005-01-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-03-16 17:42:08 IP:61.230.xxx.xxx 訂閱
首先感謝...Stallion
我好像有好幾次問的問題都是你告訴我該用什麼元件~~
不知道Stallion大大都是怎麼知道那些元件的嘛?
小弟最近學bcb發現,有時候要想要做到某個功能,可是卻不知道該用什麼元件
不知道網站上大大們都是怎麼知道這些元件的?(除了上討論區查有無類似問題)
最近上網有查到一個
C Builder Developer's Journal
http://bcbjournal.org/
不過要錢@@不知道大大們是都去看這個嘛??還是有其他的相關資源

回歸正傳,
請問Stallion~~
我安裝好Package後,試著看ShellControls所附的demo,
我並無做任何修改而
為什麼我開啟它的程式後,假設我現在瀏覽"桌面",
而我在自己的桌面加個檔案或資料夾後,此demo程式就當掉了??
不是應該在此demo瀏覽程式裡也會自動更新嗎??
我有看此TShellTreeView與TShellListView的AutoRefresh都是設為true
是不是還需要安裝什麼packet才能跟windows的檔案總管一樣能自動更新??

還是因為此demo沒有使用ShellChangeNotifier1??
而有相關的ShellChangeNotifier1說明嗎??(我查站上似乎沒有相關資料說明)
我亦試著自己把ShellChangeNotifier1加到此demo程式,似乎一樣會使demo程式當掉


謝謝!
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-03-16 18:16:40 IP:211.22.xxx.xxx 未訂閱
1.梁實秋曾說過:「學英文他找不到不笨的方法」!所以只有多看前輩們的程式以及自己多練習。
2.TShellTreeView的AutoRefresh不能同時與TShellListView的AutoRefresh設定為true,不然會被Hang住!我也曾經遇到這個問題,好像是這個元件的Bug吧!如果要更新清單,比較好的方法是自行呼叫ShellAPI的ShellChangeNotify函數。
stellos
中階會員


發表:24
回覆:84
積分:51
註冊:2004-06-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-03-17 01:20:18 IP:218.168.xxx.xxx 訂閱
FileListBox1->Update();
DirectoryListBox1->Update();
可更新
可是若要即時更新
我想我會用個Timer吧, 將上面兩段程式加進去
我沒試過喔
ddaken
一般會員


發表:39
回覆:33
積分:19
註冊:2005-01-21

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-03-18 23:54:32 IP:125.232.xxx.xxx 訂閱
可以請Stallion大概說一下ShellAPI的ShellChangeNotify函數
要怎麼呼叫嗎??小弟試不出來@@

stellos 大大,小弟試過直接使用timer,的確可以直接達到自動refresh的功能,
不過有一個缺點就是每當refresh後畫面會閃爍,不知能不能避掉此閃爍??
用這種timer的方式不知道對程式而言有無壞處?

ddaken
一般會員


發表:39
回覆:33
積分:19
註冊:2005-01-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-06-01 12:17:18 IP:218.167.xxx.xxx 訂閱
請問有大大知道ShellAPI的ShellChangeNotify函數
要怎麼用嘛??
可以教一下嗎??

我自己試過直接在ShellChangeNotify events中的Onchang中加入程式可是他會出現
"Property and method ShellChangeNotify1 Change are not compatible"??
謝謝!!
編輯記錄
ddaken 重新編輯於 2007-06-01 12:23:42, 註解 無‧
系統時間:2024-11-22 17:33:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!