ShowPic.h 3.4 KB

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