七、项目建立整个过程(图解)
1. 新建项目
新建MFC项目,
将默认生成的确定和取消按钮和文本控件删除
2. 控件添加
2.1 添加设置相关属性
调整好对话框的大小
在对话框中添加两个GroupBox控件,并将他们的Caption属性分别改为“文件目录”和“文件列表”
添加树形控件Tree Control,设置相关属性
添加列表控件List Control,设置相关属性
添加两个按钮控件Button,分别实现返回和转到的功能
添加下拉列表框控件Combo Box,设置相关属性
设置好后如下图:
在设置相关控件属性
2.2 设置控件变量
设置各个控件的变量,进入类向导,成员变量中添加,如下图
2.3 设置控件事件
设置各个控件的事件,例如combox的选项改变事件
全部添加完成后才能进行相应功能的代码编辑:
运行一下,非常完美
3. 添加右键菜单栏
添加如下两个菜单栏:
然后改名什么的不用说了:
4. 消息响应函数设置
4.1 设置函数
其中窗体控件事件在设置中已经自动生成,需要自己添加右键菜单栏的消息相应函数
代码如下:
// 窗体控件绑定事件:事件设置,系统自动生成 afx_msg void OnBnClickedBack(); afx_msg void OnBnClickedEnter(); afx_msg void OnCbnSelchangeDirpath(); afx_msg void OnTvnItemexpandedTree(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnTvnKeydownTree(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnTvnSelchangedTree(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnNMRClickList(NMHDR *pNMHDR, LRESULT *pResult); // 右键菜单栏绑定事件 afx_msg void OnOpen(); afx_msg void OnCopy(); afx_msg void OnDelete(); afx_msg void OnNewfile(); afx_msg void OnTxt(); afx_msg void OnDocx(); afx_msg void OnRefresh(); afx_msg void OnPaste();
4.2 绑定消息响应
进入Dlg.cpp中,找到BEGIN_MESSAGE_MAP,在后面加入你的消息响应函数,实现函数与事件消息绑定。
如下图,找到它,添加了如下代码:
5. 项目逻辑设计
5.1 其他函数功能
在头文件中设计添加其他功能函数,如下图:
代码如下:
// 获取系统分区驱动器字符串信息 void GetLogicalDrive(HTREEITEM hParent); // 获取驱动地址 void GetDriveDir(HTREEITEM hParent); // 获取树项目全根路径 CString GetFullPath(HTREEITEM hCurrent); // 添加子目录 void AddSubDir(HTREEITEM hParent); // 刷新/更新ListCtrl void Refresh(CString str); // 删除文件夹 bool DeleteFolder(LPCTSTR pstrFolder); // 目录是否存在 bool IsDirectory(LPCTSTR pstrPath); // 复制到剪贴板 void CopyToClipboard(CString dirPath); // 粘贴文件 void PasteToFile(CString dirPath);