工控编程吧
标题:
161上位机VC MFC任意位置创建与删除文件夹
[打印本页]
作者:
qq263946146
时间:
2016-1-13 22:50
标题:
161上位机VC MFC任意位置创建与删除文件夹
(, 下载次数: 2)
上传
点击文件名下载附件
161上位机VC MFC任意位置创建与删除文件夹
功能展示
在上位机程序开发过程中,对文件夹的操作是必不可少的,比如程序参数作为文件保存到指定的位置,就得创建文件夹,当前例程实现在程序根目录创建文件夹和在指定位置创建功能,效果如图;
要点提示
文件夹的创建可以用函数CreateDirectory();
文件夹的删除可以用函数RemoveDirectory();
浏览位置进行指定位置创建文件夹可以用函数SHBrowseForFolder()创建对话框供用户选择,用户确认后通过函数SHGetPathFromIDList()获取用户选择的路径;
功能实现
1.新建基于对话框的应用程序
2.拖拽一编辑框ID为IDC_EDIT1,实现目录位图的显示;拖拽三个按钮控件,关联函数分别实现《在根目录建立><指定位置建立><删除文件夹>功能;
void CGkbc8Dlg::OnButton1()
{
CString sName;
charbuf[_MAX_PATH];
::GetCurrentDirectory(_MAX_PATH,buf);//获取程序根目录路径
GetDlgItem(IDC_EDIT1)->GetWindowText(sName);
strcat(buf,"\\");
strcat(buf,sName);
if(CreateDirectory(buf,NULL))
SetDlgItemText(IDC_EDIT1,buf);
}
void CGkbc8Dlg::OnButton3()
{
CString sPath;
GetDlgItem(IDC_EDIT1)->GetWindowText(sPath);
if(!sPath.IsEmpty())
RemoveDirectory(sPath);
}
void CGkbc8Dlg::OnButton2()
{
charcDesktop[_MAX_PATH];
SHGetSpecialFolderPath(0,cDesktop,CSIDL_DESKTOPDIRECTORY,0);//桌面目录
BROWSEINFO bi;
bi.hwndOwner =this->GetSafeHwnd();
bi.pidlRoot = NULL;
bi.pszDisplayName = NULL;
bi.lpszTitle = TEXT("请选择文件夹");
bi.ulFlags =BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT;
bi.lpfn = BrowseCallBackFun;//回调函数
bi.lParam = (LPARAM)cDesktop; //传给回调函数的参数,设置默认路径
bi.iImage = 0;
LPITEMIDLISTpidl = SHBrowseForFolder(&bi); //打开浏览对话框
if (pidl == NULL)
return;
TCHARpszPath[MAX_PATH];
if(SHGetPathFromIDList(pidl, pszPath)) //点击确认后
{
CString sName;
GetDlgItem(IDC_EDIT1)->GetWindowText(sName);
strcat(pszPath,"\\");
strcat(pszPath,sName);
if(CreateDirectory(pszPath,NULL))
SetDlgItemText(IDC_EDIT1,pszPath);
}
}
bi.lpfn = BrowseCallBackFun指定了我们自定义的回调函数实现额外功能,不需要可将bi.lpfn =NULL;
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/1dddfdc42e2c9a82fb859112b24246fe/0/0/w_19rte9o6pt.swf-albumId=5177740909-tvId=5177740909-isPurchase=0-cnId=27[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4