VC++开发GIS系统(102)查看文件属性
发布时间: 2016-01-04
所属分类: VC++开发GIS系统
在文章《VC++开发GIS系统(101)补充知识VC++获取文件信息(大小、时间)》中大体介绍了VC++中获取文件属性的简单方法,下面的工作就是响应文件右击的属性菜单,实现查看文件属性的功能。
效果图
实现步骤
1. 画一个文件属性的对话框
参考文章《VC++开发GIS系统(40)画一个输入点的对话框》
这里要注意的是将控制Edit的属性设置为只读,这样用户就无法修改属性了,如下:
2. 导出对话框
参考文章《VC++开发GIS系统(45)导出输入点对话框并调用》
实现代码如下:
函数定义
/*
* 文件属性对话框
*/
void maladialogsdll dlgGraphFilePro(malaTree fileNode);
函数实现
/*
* 文件属性对话框实现
*/
void maladialogsdll dlgGraphFilePro(malaTree fileNode)
{
CDialogFilePro dlg;
dlg.mFileName = fileNode.itemnode;
dlg.mFilePath = fileNode.filePath;
CFile file;
CFileStatus fileStatus;
file.GetStatus(fileNode.filePath, fileStatus);
dlg.mFileSize.Format(L"%f KB", (float)fileStatus.m_size/1024.0);
dlg.mCreateTime = fileStatus.m_ctime.Format(L"%Y-%m-%d %H:%M:%S");
dlg.mModifyTime = fileStatus.m_mtime.Format(L"%Y-%m-%d %H:%M:%S");
dlg.DoModal();
}
这里要传入的是一个节点malaTree fileNode,然后根据节点来获取文件信息。
3. 响应属性菜单
参考《VC++开发GIS系统(71)响应CTreeCtrl右键菜单的函数》响应“属性”菜单,如图:
代码如下:
//查看文件属性
void CPrjManage::OnGraphFilePro()
{
//更新fileNodeTree
CString str = m_wndPrjView.GetItemText(selTreeItem);
for (size_t i = 0; i < fileNodeTree.size(); i++)
{
if (fileNodeTree[i].itemnode == str)
{
dlgGraphFilePro(fileNodeTree[i]);
}
}
}
详细代码可以参考:GitHub
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。
手机阅读
公众号关注
知识星球
手机阅读
最新GIS干货
私享圈子