资源简介

caxa 二次开发 查找目录下的所有文件包括子目录 并自动生成批处理修改文件名称。次程序可用于电子图版提高版本,或自己修改做他用

资源截图

代码片段和文件信息

// BrowseDirDialog.cpp: implementation of the CBrowseDirDialog class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“ 
#include “BrowseDirDialog.h“ 
#include “shlobj.h“ 
#ifdef _DEBUG 
#undef THIS_FILE 
static char THIS_FILE[]=__FILE__; 
#define new DEBUG_NEW 
#endif 
#define BIF_NEWDIALOGstyle 0x0040
#define BIF_RETURNONLYFSDIRS 0x0001

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

//SHBrowseForFolder控件在初始化或选择改变后的回调函数 
static int __stdcall BrowseCtrlCallback(HWND hwnd UINT uMsg LPARAM lParam LPARAM lpData) 

CBrowseDirDialog* pBrowseDirDialogObj = (CBrowseDirDialog*)lpData; 
if (uMsg == BFFM_INITIALIZED
&& !pBrowseDirDialogObj->m_SelDir.IsEmpty())

::SendMessage(hwndBFFM_SETSELECTIONTRUE(LPARAM)(LPCTSTR)(pBrowseDirDialogObj->m_SelDir)); 

else // uMsg == BFFM_SELCHANGED 

TCHAR szDir[MAX_PATH];
if (SHGetPathFromIDList((LPITEMIDLIST) lParam szDir))
{
SendMessage(hwndBFFM_SETSTATUSTEXT0(LPARAM)szDir);
}

return 0; 


//构造函数 
CBrowseDirDialog::CBrowseDirDialog(CString PromptMsg CString DefaultDir=““) 

//m_Path; //存放返回的路径信息 
m_InitDir=““; //初始显示的路径名默认为桌面 
m_SelDir=DefaultDir; //打开对话框后默认选中的目录名缺省为根目录 
m_title=PromptMsg; //设置对话框中浏览信息的标题默认为“请选择目录“ 


//析构函数 
CBrowseDirDialog::~CBrowseDirDialog() 



int CBrowseDirDialog::DoBrowse() 

LPMALLOC pMalloc; 
if (SHGetMalloc (&pMalloc)!= NOERROR) 

return 0; 


BROWSEINFO bInfo; 
LPITEMIDLIST pidl;
 
ZeroMemory ( (PVOID) &bInfosizeof (BROWSEINFO)); 
if (!m_InitDir.IsEmpty ()) 

OLECHAR olePath[MAX_PATH]; 
ULONG chEaten; 
ULONG dwAttributes; 
HRESULT hr; 
LPSHELLFOLDER pDesktopFolder; 
if (SUCCEEDED(SHGetDesktopFolder(&pDesktopFolder))) 

MultiByteToWideChar(CP_ACPMB_PRECOMPOSED m_InitDir.GetBuffer(MAX_PATH) -1 
olePath MAX_PATH); 

m_InitDir.ReleaseBuffer (-1); 
//转换路径为ITEMLIST 
hr = pDesktopFolder->ParseDisplayName(NULLNULLolePath&chEaten&pidl 
&dwAttributes); 
if (FAILED(hr)) 

pMalloc ->Free (pidl); 
pMalloc ->Release (); 
return 0; 

bInfo.pidlRoot = pidl; 


bInfo.hwndOwner = NULL; 
bInfo.pszDisplayName = m_Path.GetBuffer (MAX_PATH); 
bInfo.lpsztitle = (m_title.IsEmpty()) ? “请选择目录“:m_title; 
bInfo.ulFlags = BIF_RETURNFSANCESTORS|BIF_RETURNONLYFSDIRS|BIF_NEWDIALOGstyle|BIF_RETURNONLYFSDIRS; 
bInfo.lpfn = BrowseCtrlCallback; //回调函数地址 
bInfo.lParam = (LPARAM)this; 
//CoInitialize(NULL);
//OleInitialize(NULL);
if ((pidl = ::SHBrowseForFolder(&bInfo)) == NULL) 

return 0; 

m_Path.ReleaseBuffer(); 
m_ImageIndex = bInfo.iImage; 
if (::SHGetPathFromIDList(pidlm_Path.GetBuffer(MAX_PATH)) == FALSE) 

pMalloc ->Free(pidl); 
pMalloc ->Release(); 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3219  2008-12-09 20:15  savetoEba\BrowseDirDialog.cpp

     文件        898  2003-11-01 21:17  savetoEba\BrowseDirDialog.h

     文件    4211712  2008-12-15 23:13  savetoEba\Debug\EbaSample.bsc

     文件     131128  2008-12-15 23:13  savetoEba\Debug\EbaSample.eba

     目录          0  2008-12-15 23:13  savetoEba\Debug

     文件        633  2008-12-05 13:11  savetoEba\Drawline.cpp

     文件       1885  2008-11-28 20:50  savetoEba\EbaSample.4.1.resharper.user

     文件      25796  2008-12-14 12:39  savetoEba\EbaSample.aps

     文件       1502  2008-12-15 23:13  savetoEba\EbaSample.clw

     文件       2018  2008-12-03 19:28  savetoEba\EbaSample.cpp

     文件        257  2001-01-04 15:55  savetoEba\EbaSample.def

     文件       4701  2008-12-13 19:45  savetoEba\EbaSample.dsp

     文件        541  2001-01-04 15:55  savetoEba\EbaSample.dsw

     文件       1327  2008-12-03 23:44  savetoEba\EbaSample.h

     文件     181248  2008-12-15 23:13  savetoEba\EbaSample.ncb

     文件      72704  2008-12-15 23:13  savetoEba\EbaSample.opt

     文件       2299  2008-12-15 23:13  savetoEba\EbaSample.plg

     文件      16476  2008-12-13 20:07  savetoEba\EbaSample.rc

     文件        883  2008-11-28 20:33  savetoEba\EbaSample.sln

    ..A..H.     17920  2008-11-28 20:50  savetoEba\EbaSample.suo

     文件       8365  2008-11-28 20:49  savetoEba\EbaSample.vcproj

     文件       1401  2008-11-28 20:50  savetoEba\EbaSample.vcproj.PC-200811251050.haha.user

     文件        233  2008-11-28 20:52  savetoEba\FuncDef.h

     文件      14367  2008-12-14 12:40  savetoEba\jieall.cpp

     文件       1300  2008-12-13 19:56  savetoEba\jieall.h

     文件       1002  2008-11-28 13:10  savetoEba\mainpage.cpp

     文件       1240  2008-11-28 13:10  savetoEba\mainpage.h

     文件       2603  2001-01-04 15:55  savetoEba\ReadMe.txt

     文件       8822  2001-01-04 15:55  savetoEba\Res\bitmap1.bmp

     文件      10186  2001-01-04 15:55  savetoEba\Res\bitmap10.bmp

............此处省略48个文件信息

评论

共有 条评论