ShowPic.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. #if !defined(AFX_SHOWPIC_H__6DEFB626_77A6_44CD_8A13_DD12835EC5A8__INCLUDED_)
  2. #define AFX_SHOWPIC_H__6DEFB626_77A6_44CD_8A13_DD12835EC5A8__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif
  6. #include ".\include\CritSection.h"
  7. /************************************************************************/
  8. /*
  9. 查看相片:
  10. 1.查看指定相片类型的整个订单相片;
  11. 2.查看指定相片类型的订单景点或套系相片;
  12. 3.查看指定相片名列表的相片(选片时,就是按选中名称来查看);
  13. 4.查看两种以上相片类型的,且是同一个订单的混合相片类型相片(选片时,按原片+初修的模式);
  14. 主要成员变量:
  15. [OUT]
  16. CStringArry m_AryOfImgPath; // 要显示的相片路径列表;
  17. // 相片来源于哪些目录
  18. // 在多个共享目录下,如果查看的是整个订单,那么该变量就是多个订单目录列表;
  19. // 如果查看的是景点或套系下的相片,那么该变量就是多个订单景点或套系目录列表;
  20. // 如果查看的是指定相片列表的相片,该变量为空;
  21. CStringArry m_AryOfImgDirectory;
  22. [IN]
  23. CString m_strOrderNum; // 订单号;
  24. INT m_nPhotoType; // 相片类型;
  25. CString m_strScenery; // 景点或套系名;
  26. CStringArry m_ArySelectedImg; // 要查看的相片名列表;
  27. */
  28. /************************************************************************/
  29. #include <vector>
  30. using namespace std;
  31. class ShowPic : public CDialog // 客户相片查看 对话框;
  32. {
  33. CString m_type;
  34. CArray<CStringArray, CStringArray>m_List1array;
  35. CStringArray m_iparray;
  36. public:
  37. enum { IDD = IDD_DLGShowPic };
  38. ShowPic(CWnd* pParent = NULL); // standard constructor
  39. void OnBUTupload2();
  40. void LoadPhotos();
  41. BOOL ExitLoadThread();
  42. void LoadThumbImages();
  43. static DWORD WINAPI LoadThumbNail(LPVOID lpParam);
  44. void GetAllSelectImage(OUT CStringArray &strAry);
  45. BOOL TerminateRefreshTh();
  46. void RefreshWork();
  47. public:
  48. #if USE_SHARE_FLORD
  49. CStringArray m_aryOfShareDirectory; // 指定域名、订单、相片类型 查找到的所有共享订单目录文件夹路径集合;
  50. CStringArray m_AryOfShareDirectory;
  51. #endif
  52. int m_nDelCount; // 删除相片的张数(不是全部删除按钮);
  53. CString m_path;
  54. CStringArray m_vFileName;
  55. CImageList m_ImageListThumb; // image list holding the thumbnails
  56. bool m_bRunning; // Flag to whether thread is on running or not
  57. unsigned int m_dwThreadID; // Thread ID
  58. HANDLE m_hThread;
  59. //HANDLE m_hEvent; // Thread and Event handle
  60. BOOL m_bExit;
  61. HANDLE m_hThreadRef; // 刷新;
  62. HANDLE m_hRefExitEvent; // 退出事件;
  63. CStringArray m_patharray1;
  64. CComboBox m_combobranch;
  65. CListCtrl m_List1;
  66. CComboBox m_combo1;
  67. CString m_branchname;
  68. BOOL m_bdelall;
  69. CString m_branch;
  70. CString remark;
  71. CString m_id;
  72. CString m_name;
  73. CString m_name2;
  74. int m_mode; // ==1表示 拍照功能里查看相片;
  75. BOOL m_bOriginalImg; // 是否是原始格式;
  76. Image* m_pUnKnown; // 原始格式的相片;
  77. protected:
  78. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  79. virtual BOOL OnInitDialog();
  80. afx_msg void OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult);
  81. //afx_msg void OnDestroy();
  82. afx_msg void OnBUTdelall();
  83. afx_msg void OnBUTdel();
  84. afx_msg void OnBUTupload();
  85. afx_msg void OnBUTselall();
  86. afx_msg void OnSelchangeCombo2();
  87. afx_msg void OnBUTSetDesignNo();
  88. afx_msg void OnBUTexport(); // 只有在设计时,才会有这个导出相片按钮;
  89. afx_msg void OnButRefreshPhotos();
  90. DECLARE_MESSAGE_MAP()
  91. public:
  92. static ThreadSection m_ThreadSection;
  93. CRect* SubgroubRectangle(IN CRect rc, IN const INT& nDivWidth, IN const INT &nDivisions);
  94. static BOOL AddListItemName(IN ShowPic* pThis, IN CListCtrl* pListCtrl, IN CStringArray& AryItemName);
  95. static void ZoomImage(Image* pImage, Rect& desRt);
  96. static void DrawListItemImg(IN ShowPic* pThis, IN CListCtrl* pListCtrl, IN CImageList* pImgList, IN CStringArray& AryItemName);
  97. virtual BOOL DestroyWindow();
  98. };
  99. #endif