[請益] 如何產生 Windows 資料夾的 TreeView 控制項?

看板Programming作者 (= ̄ω ̄=)時間15年前 (2010/03/12 10:28), 編輯推噓1(1012)
留言13則, 4人參與, 最新討論串1/1
我想要在程式裡面加入一個 TreeView 控制項,用來顯示 Windows 的目錄階層, 就像檔案總管的左邊一樣,讓使用者可以在這個控制項裡面展開並選擇資料夾, 而視窗右邊顯示該資料夾裡面的圖片縮圖 (我想自己寫一個圖片瀏覽器) 。 先說說開發環境好了,我用 Eclipse + CDT + MinGW ,想要在不依靠其他 library 的情況下,用 C 語言搭配 Windows API 完成此專案,而目前卡在讓使 用者選擇目錄的這個控制項上面。 目前我已經讀了一點 Shell Namespace 的文件,並且產生一個 TreeView 控制 項,大致上長得跟檔案總管的 TreeView 差不多,但是只能做到展開資料夾。 請問我該如何偵測檔案系統的變化 (資料夾的新增、刪除、重新命名等等),以 即時更新我的控制項。 其實我直覺認為 Windows 應該有提供這種控制項 ( COM 元件之類),但是我找 不到相關的範例,希望各位能給我一點意見或關鍵字,謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.50.74

03/12 22:26, , 1F
我覺得像檔案總管那樣就是按F5重新整理
03/12 22:26, 1F

03/13 03:22, , 2F
你可以設一個btn, 去重新繪製你的 tree
03/13 03:22, 2F

03/13 03:23, , 3F
不知這種方式是不是你能接受的
03/13 03:23, 3F

03/13 10:30, , 4F
我希望這個 Tree 可以接收檔案系統的事件
03/13 10:30, 4F

03/13 10:34, , 5F
不然要使用者自行重新整理,這樣不太合理
03/13 10:34, 5F

03/15 00:10, , 6F
我是也蠻想知道檔案蠻更會send 什麼msg
03/15 00:10, 6F

03/15 00:11, , 7F
開一個 thread, 去監控目錄的變化
03/15 00:11, 7F

03/15 00:11, , 8F
↑我只能想到這, 不過應該還不到"即時"
03/15 00:11, 8F

03/15 02:50, , 9F
從Process Monitor反過來下手怎樣
03/15 02:50, 9F

03/16 16:03, , 10F
找到一些函數:FindFirstChangeNotification
03/16 16:03, 10F

03/16 16:04, , 11F
FindNextChangeNotification、
03/16 16:04, 11F

03/16 16:04, , 12F
FindCloseChangeNotification、
03/16 16:04, 12F

03/16 16:05, , 13F
以及ReadDirectoryChangesW,正在研究...
03/16 16:05, 13F
文章代碼(AID): #1BcXTTwX (Programming)