作者uziel (= ̄ω ̄=)
看板Programming
標題[請益] 如何產生 Windows 資料夾的 TreeView 控制項?
時間Fri Mar 12 18:28:42 2010
我想要在程式裡面加入一個 TreeView 控制項,用來顯示 Windows 的目錄階層,
就像檔案總管的左邊一樣,讓使用者可以在這個控制項裡面展開並選擇資料夾,
而視窗右邊顯示該資料夾裡面的圖片縮圖 (我想自己寫一個圖片瀏覽器) 。
先說說開發環境好了,我用 Eclipse + CDT + MinGW ,想要在不依靠其他
library 的情況下,用 C 語言搭配 Windows API 完成此專案,而目前卡在讓使
用者選擇目錄的這個控制項上面。
目前我已經讀了一點 Shell Namespace 的文件,並且產生一個 TreeView 控制
項,大致上長得跟檔案總管的 TreeView 差不多,但是只能做到展開資料夾。
請問我該如何偵測檔案系統的變化 (資料夾的新增、刪除、重新命名等等),以
即時更新我的控制項。
其實我直覺認為 Windows 應該有提供這種控制項 ( COM 元件之類),但是我找
不到相關的範例,希望各位能給我一點意見或關鍵字,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.50.74
1F:推 clanguage:我覺得像檔案總管那樣就是按F5重新整理 218.161.57.94 03/12 22:26
2F:→ tropical72:你可以設一個btn, 去重新繪製你的 tree 180.177.73.5 03/13 03:22
3F:→ tropical72:不知這種方式是不是你能接受的 180.177.73.5 03/13 03:23
4F:→ uziel:我希望這個 Tree 可以接收檔案系統的事件114.137.112.183 03/13 10:30
5F:→ uziel:不然要使用者自行重新整理,這樣不太合理114.137.112.183 03/13 10:34
6F:→ tropical72:我是也蠻想知道檔案蠻更會send 什麼msg218.161.127.248 03/15 00:10
7F:→ tropical72:開一個 thread, 去監控目錄的變化218.161.127.248 03/15 00:11
8F:→ tropical72:↑我只能想到這, 不過應該還不到"即時"218.161.127.248 03/15 00:11
9F:→ AndCycle:從Process Monitor反過來下手怎樣 122.116.40.15 03/15 02:50
10F:→ uziel:找到一些函數:FindFirstChangeNotification 220.134.50.74 03/16 16:03
11F:→ uziel:FindNextChangeNotification、 220.134.50.74 03/16 16:04
12F:→ uziel:FindCloseChangeNotification、 220.134.50.74 03/16 16:04
13F:→ uziel:以及ReadDirectoryChangesW,正在研究... 220.134.50.74 03/16 16:05