文件浏览器与DLL的创建

 今天终于将文件浏览器完成的差不多了,主要是利用图片当按钮去做,利用上一节写的ListLaunch进行窗口的滑动,定义一个currentPath为当前路径,先默认为NULL,在当前路径下创建文件夹,如U盘文件夹,这里并不添加到currentPath中,然后调用UpdateSavedFiles()函数来更新文件的目录,建立一个FileList,当你点击窗口上第N个图片时,计算出相对的FileList的位置,通过FileList特有的getText函数,获取到文字,即为文件夹的文件名,获取文件名,执行MoveSubFolder,把它添加到currentPath里,再执行UpdateSavedFiles函数,就能显示了。若返回上一层,则执行MoveParentFolder,执行UpdateSavedFiles。这时候需要根据文件的数量去存放图片的位置,文字的显示。

    图片的滑动关键在于如何把图片从一个位置移动到另一个位置,这个移动过程中页面的刷新至为重要,在这里我创建了2个DC来做,Memdc内存DC是可以直接写到显示DC上的,而CurListDC是我创建的图片DC,这个DC很大,若高度为60,则CurListBmp = CreateCompatibleBitmap(DisDC, 660,60*count);将图片和文字画到CurListDC上,移动的时候将CurListDC拷贝到Memdc上,利用BitBlt函数实现,这样就比较简单,可以把一片的CurListDC拷贝到Memdc,注意要用空的DC去擦除Memdc。这里还需要用指针代替数组去完成,有多少个文件,我就显示多少张图,在文件数量不是很多的时候可以实现这个功能,而且很流畅,但是一旦数量过大,这个CurListDC过大,显示会比较慢。

最后完成了只显示U盘文件里的所有文件,系统本身的不显示,功能很强大。

 

不足:未能实现文件的复制、剪切和粘贴功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章