QQ登录

只需一步,快速开始

74上位机VC MFC列表视图浏览文件及目录信息

[ 复制链接 ]

void CGkbc8Dlg::OnSelchangeComboboxex1() { COMBOBOXEXITEM cbi; memset(&cbi,0,sizeof(COMBOBOXEXI ...

void CGkbc8Dlg::OnSelchangeComboboxex1()  { 	COMBOBOXEXITEM cbi; 	memset(&cbi,0,sizeof(COMBOBOXEXI ...

74上位机VC MFC列表视图浏览文件及目录信息

功能展示

有开发上位机程序时,不可避免的要与文件与目录打交道,我们当前例程通过列表视图控件完成对文件及目录的操作与信息显示,可以根据自己程序功能的需要完成特定功能,效果如图
要点提示
在列表视图中显示文件及目录,我们得定义一个字符器变量,保存用户当前操作所在的目录,然后再自定义一个函数DisplayPath(),罗列出该目录下的文件与子目录,并将全部显示在列表视图中;





实现功能
1.新建基于对话框的应用程序
2.将我们当前例程中类CFileListCtrl的两个文件FileList.cpp FileList.h,复制到自己的工程根目录下,并加载到工程当中;并在主对话框中添加一列表控件关联我们的类变量CFileListCtrl m_FileList;
3.再添加一扩展组合框控件,关联变量CComboBoxEx  m_Combo;用于记用户选择操作的盘符,比如是对C盘还是D盘操作;
4.设置列表头,并定定义一函数LoadSysDisk()实现组合框与列表框的初始化
  m_FileList.SetColumns(_T("文件名,200;文件,100;文件日期,200"));//设置列表表头

  LoadSysDisk();//加载系统盘符
  1. void CGkbc8Dlg::LoadSysDisk()
  2. {
  3.         m_Combo.SetImageList(&m_FileList.m_ImageList);//设置操作系统图标
  4.         m_Combo.ResetContent();//清除组合框内容
  5.         char  pchDrives[128] = {0};
  6.         char* pchDrive;
  7.         GetLogicalDriveStrings(sizeof(pchDrives), pchDrives) ;//获取全部有效系统盘符
  8.         pchDrive = pchDrives;
  9.         int nItem = 0;
  10.         while(*pchDrive)
  11.         {
  12.                 COMBOBOXEXITEM     cbi;
  13.                 CString            csText;
  14.                 cbi.mask = CBEIF_IMAGE|CBEIF_INDENT|CBEIF_OVERLAY| CBEIF_SELECTEDIMAGE|CBEIF_TEXT;
  15.                 SHFILEINFO shInfo;
  16.                 int nIcon;
  17.                 SHGetFileInfo(pchDrive, 0, &shInfo, sizeof(shInfo), SHGFI_ICON|SHGFI_SMALLICON);//获取当前盘符信息
  18.                 nIcon = shInfo.iIcon;
  19.                 cbi.iItem = nItem;
  20.                 cbi.pszText = pchDrive;
  21.                 cbi.cchTextMax = strlen(pchDrive);
  22.                 cbi.iImage = nIcon;
  23.                 cbi.iSelectedImage = nIcon;
  24.                 cbi.iOverlay = 0;
  25.                 cbi.iIndent = (0 & 0x03);
  26.                 m_Combo.InsertItem(&cbi);
  27.                 nItem++;
  28.                 pchDrive += strlen(pchDrive) + 1;
  29.         }
  30.         m_Combo.SetCurSel(0);//初始化组合框为第0项
  31.         OnSelchangeComboboxex1();//根据组合框的选择初始化列表框
  32. }
复制代码
OnSelchangeComboboxex1()为组合框选项改变时触发的函数,我们可以在里面根据组合框当前的选项,刷新列表视图的内容
  1. void CGkbc8Dlg::OnSelchangeComboboxex1()
  2. {
  3.         COMBOBOXEXITEM cbi;
  4.         memset(&cbi,0,sizeof(COMBOBOXEXITEM));
  5.         int nCurItem = m_Combo.GetCurSel();
  6.         cbi.mask =  CBEIF_TEXT;
  7.         char chName[128] = {0};
  8.         cbi.pszText = chName;
  9.         cbi.cchTextMax = 128;
  10.         cbi.iItem = nCurItem;
  11.         m_Combo.GetItem(&cbi);
  12.         m_FileList.m_BaseDir = chName;
  13.         m_FileList.DisplayPath(chName);
  14. }
  15. <div style="text-align: center;"><b style="line-height: 1.5;"><font size="4">我们来演示下功能实现的整个过程</font></b></div>
复制代码

请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:74.上位机VC MFC列表视图浏览文件及目录信息.rar 
文件大小:138.19 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索