Global.cpp
上传用户:gzboli
上传日期:2013-04-10
资源大小:471k
文件大小:2k
源码类别:

图片显示

开发平台:

Visual C++

  1. // Global.cpp: implementation of the CGlobal class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "quickimage.h"
  6. #include "Global.h"
  7. #ifdef _DEBUG
  8. #undef THIS_FILE
  9. static char THIS_FILE[]=__FILE__;
  10. #define new DEBUG_NEW
  11. #endif
  12. //////////////////////////////////////////////////////////////////////
  13. // Construction/Destruction
  14. //////////////////////////////////////////////////////////////////////
  15. bool g_bShowHide = TRUE;
  16. CString g_strCurrentDir = _T("");
  17. CList<CString,CString&> g_strImgFileNames(20);
  18. int g_iSortColumn;
  19. CGlobal::CGlobal()
  20. {
  21. }
  22. CGlobal::~CGlobal()
  23. {
  24. }
  25. BOOL CGlobal::IsImgFile(LPCTSTR lpszFileName)
  26. {
  27. ASSERT(strlen(lpszFileName) > 0);
  28. char szExt[20];
  29. char *pExt = strrchr(lpszFileName, '.');
  30. if(NULL == pExt)
  31. {
  32. return FALSE;
  33. }
  34. strcpy(szExt, ++pExt);
  35. strlwr(szExt);
  36. if((0 == strcmp(szExt, _T("bmp")))
  37. || (0 == strcmp(szExt, _T("dib")))
  38. || (0 == strcmp(szExt, _T("ddb")))
  39. || (0 == strcmp(szExt, _T("jpg")))
  40. || (0 == strcmp(szExt, _T("jpeg")))
  41. || (0 == strcmp(szExt, _T("gif")))
  42. || (0 == strcmp(szExt, _T("pcx")))
  43. // || (0 == strcmp(szExt, _T("tif")))
  44. // || (0 == strcmp(szExt, _T("tiff")))
  45. // || (0 == strcmp(szExt, _T("raw")))
  46. // || (0 == strcmp(szExt, _T("")))
  47. )
  48. {
  49. return TRUE;
  50. }
  51. return FALSE;
  52. }
  53. void CGlobal::ChangeDirectory(LPCTSTR lpszPathName)
  54. {
  55. ASSERT(strlen(lpszPathName) > 0);
  56. g_strCurrentDir = lpszPathName;
  57. if(g_strCurrentDir.GetAt(g_strCurrentDir.GetLength() -1) != '\')
  58. g_strCurrentDir += _T("\");
  59. g_strImgFileNames.RemoveAll();
  60. WIN32_FIND_DATA stFindData;
  61. BOOL bFound = TRUE;
  62. CString strFind = g_strCurrentDir + _T("*.*");
  63. HANDLE hFind = FindFirstFile((LPCTSTR)strFind, &stFindData);
  64. CString strNewFileName;
  65. if(INVALID_HANDLE_VALUE != hFind)
  66. {
  67. while(bFound)
  68. {
  69. if((0 != strcmp(stFindData.cFileName, "."))
  70. && (0 != strcmp(stFindData.cFileName, ".."))
  71. && !(stFindData.dwFileAttributes & FILE_ATTRIBUTE_SYSTEM)
  72. && (!(stFindData.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN) || g_bShowHide)
  73. && (CGlobal::IsImgFile(stFindData.cFileName)))
  74. {
  75. strNewFileName = stFindData.cFileName;
  76. g_strImgFileNames.AddTail(strNewFileName);
  77. }
  78. bFound = FindNextFile(hFind, &stFindData);
  79. }
  80. }
  81. FindClose(hFind);
  82. }