今天完成一个需求,就是记住用户选择的文件路径,先是熟悉代码,然后在网上找解决方法,一开始感觉没什么,网上的方法差不多,应该很容易做出来,结果真是卡了一半天,到晚上自己才慢慢的搞清楚了。
遇到的问题真不少,记录一下好多细节,真是不写不知道。
2016-08-18 21:35:36补充:
1.基本方法
http://blog.csdn.net/shuilan0066/article/details/7302904
http://www.cnblogs.com/Hisin/archive/2012/02/27/2370614.html
这两篇是比较清楚的。
先认识了
SHBrowseForFolder打开文件夹时,每次都是从根目录打开。要记住上次的路径或者设置默认路径,需要写个回掉函数。
CFileDialog会自动记住上次路径
int CALLBACK BrowseCallBackFun(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData) { switch(uMsg) { case BFFM_INITIALIZED: //选择文件夹对话框初始化 //设置默认路径为lpData即'D:\' ::SendMessage(hwnd, BFFM_SETSELECTION, TRUE, lpData); //在STATUSTEXT区域显示当前路径 ::SendMessage(hwnd