一个查询扩展名的例子

发表于:2007-07-01来源:作者:点击数: 标签:
下面是程序运行效果: 主要源码: void CFDlg::OnChangeEdit1() { UpdateData(); m_strExt.MakeUpper(); m_list.ResetContent(); if(m_strExt.GetLength()==0) return; CS td ioFile sf; if(sf.Open("FileExt.txt",CFile::modeRead)) { CString strTemp,strO


下面是程序运行效果:

主要源码:

void CFDlg::OnChangeEdit1()
{
 UpdateData();
 m_strExt.MakeUpper();
 m_list.ResetContent();

 if(m_strExt.GetLength()==0)  return;
 
 
 CStdioFile sf;
 if(sf.Open("FileExt.txt",CFile::modeRead))
 {  
  CString strTemp,strOut;
  
  while(sf.ReadString(strTemp))
  {   
   if(strTemp.Left(m_strExt.GetLength()) ==m_strExt)
   {
    m_list.AddString(strTemp);
   }      
  }
 }
 sf.Close();
 
 m_list.SetCurSel(0);
 this->OnSelchangeList2();    
}

 


void CFDlg::OnSelchangeList2()
{
 CString strTemp,strExt;
 m_list.GetText(m_list.GetCurSel(),strTemp);
 strExt=strTemp.Left(strTemp.FindOneOf(" "));   //MessageBox(strExt);
  
 CString strFileName ="eee."+strExt;   //MessageBox(strFileName);
 SHFILEINFO shfi;
 memset(&shfi,0,sizeof(shfi));  //或者ZeroMemory(&shfi,sizeof(shfi));

 ::SHGetFileInfo(strFileName,
     FILE_ATTRIBUTE_NORMAL,
     &shfi,
     sizeof(shfi),
     SHGFI_ICON|SHGFI_USEFILEATTRIBUTES);

 m_icon.SetIcon(shfi.hIcon);
}

 

具体程序见源码。


原文转自:http://www.ltesting.net