作者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