NeroDlg.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. #if !defined(AFX_NERODLG1_H__E6EFFD01_4425_11CF_BB70_00E04C394613__INCLUDED_)
  2. #define AFX_NERODLG1_H__E6EFFD01_4425_11CF_BB70_00E04C394613__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // NeroDlg1.h : header file
  7. //
  8. #include "NeroBurn.h"
  9. /////////////////////////////////////////////////////////////////////////////
  10. // CNeroDlg dialog
  11. class CNeroDlg : public CDialog
  12. {
  13. CString m_realpath;//没有精修片时的替代片
  14. int m_nphotos;
  15. DWORD m_nspase;
  16. int m_nphotos1;
  17. DWORD m_nspase1;
  18. int m_nphotos2;
  19. DWORD m_nspase2;
  20. int m_nphotos3;
  21. DWORD m_nspase3;
  22. int m_nphotos4;
  23. DWORD m_nspase4;
  24. int m_nphotos5;
  25. DWORD m_nspase5;
  26. int m_nphotos6;
  27. DWORD m_nspase6;
  28. DWORD m_nspase1temp;
  29. DWORD m_nspase2temp;
  30. DWORD m_nspase3temp;
  31. DWORD m_nspase4temp;
  32. DWORD m_nspase5temp;
  33. DWORD m_nspase6temp;
  34. CStringArray m_photoarray1; // 精修片(若没有精修,则是已选的原片或初修)-相片从不压缩的;
  35. CStringArray m_photoarray2; // 初修片(未用);
  36. CStringArray m_photoarray3; // 原片(未用);
  37. CStringArray m_photoarray4; // 原片;
  38. CStringArray m_photoarray5; // 初修片;
  39. CStringArray m_photoarray6;
  40. CStringArray m_photoarray7;
  41. CStringArray m_photoarray8; // 用于非订单路径;
  42. // 选片选好的相片编号;
  43. CStringArray m_noarray;
  44. public:
  45. CNeroDlg(CWnd* pParent = NULL); // standard constructor
  46. CString m_strOrderNum; // 订单号;
  47. CString m_strCustomerInfo; // 顾客名称;
  48. BOOL m_bScale; // 是否压缩(是否裁小照片)
  49. enum { IDD = IDD_NEROWORKDLG };
  50. CComboBox m_combo1;
  51. CProgressCtrl m_Progress;
  52. int m_bFromDir;
  53. int m_bDvd;
  54. #ifdef USE_KERNEL_DLL
  55. INT m_nImgType; // 与m_checkphoto1配合使用;
  56. #endif
  57. BOOL m_checkphoto1; // 精修;
  58. BOOL m_checkphoto2;
  59. BOOL m_checkphoto3;
  60. BOOL m_checkphoto4; // 全部原片;
  61. BOOL m_checkphoto5; // 全部初修;
  62. BOOL m_checkphoto6; // 全部设计;
  63. public:
  64. virtual BOOL PreTranslateMessage(MSG* pMsg);
  65. protected:
  66. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  67. public:
  68. BOOL CheckDiskSpase();
  69. void GenSPhoto(CString dir, CStringArray &array, DWORD &nNeedSpase, BOOL bCheckNo);
  70. void GenSPhoto(CString dir, CString sType, CStringArray &array, CStringArray &dirarray);
  71. void GetNo(CString str, CStringArray &array);
  72. void EnableCtrls();
  73. int StyleID;
  74. CString wantBurnFilesPath[40];
  75. int wantBurnFileNums;
  76. CNeroBurn m_Burn;
  77. static NeroUserDlgInOut NERO_CALLBACK_ATTR UserDialog(void *pUserData, NeroUserDlgInOut type,void* data);
  78. static bool NERO_CALLBACK_ATTR IdleCallback(void *pUserData);
  79. static void NERO_CALLBACK_ATTR SetPhaseCallback(void* pUserData,const char* text);
  80. static void NERO_CALLBACK_ATTR AddLogLine(void *pUserData,NERO_TEXT_TYPE type,const char* text);
  81. static BOOL NERO_CALLBACK_ATTR AbortedCallback(void* pUserData);
  82. static BOOL NERO_CALLBACK_ATTR ProgressCallback(void *pUserData,DWORD dwProgressInPercent);
  83. protected:
  84. virtual BOOL OnInitDialog();
  85. virtual void OnOK();
  86. virtual void OnCancel();
  87. afx_msg void OnRadio3();
  88. afx_msg void OnRadio4();
  89. afx_msg void OnBUTchoosedir();
  90. afx_msg void OnCheck1();
  91. afx_msg void OnCheck2();
  92. afx_msg void OnCheck3();
  93. afx_msg void OnCheck4();
  94. afx_msg void OnCheck5();
  95. afx_msg void OnCheck6();
  96. afx_msg void OnCheck7();
  97. afx_msg void OnCloseupCombo1();
  98. afx_msg void OnRadio1();
  99. afx_msg void OnRadio2();
  100. afx_msg void OnDestroy();
  101. DECLARE_MESSAGE_MAP()
  102. private:
  103. bool NowDoingBurn;
  104. bool RightNowToBurn;
  105. void DoBurnOrNot();
  106. // Jeff modify code 2014.09.03
  107. public:
  108. afx_msg void OnBnClickedExporttou();
  109. CString m_strUFolder; // U盘目录;
  110. HANDLE m_hThread; // 线程句柄;
  111. HANDLE m_hCtrl; // 线程事件;
  112. BOOL m_bThreadRuning;
  113. int StartThread();
  114. int EndofThread();
  115. static DWORD WINAPI ExportImageThread(LPVOID lpParam);
  116. static void SaveImageToFile(IN Image *img, IN CString path);
  117. static int GetEncoderClsid(IN const WCHAR* format,IN OUT CLSID* pClsid);
  118. static void RectFitDes_01(IN const int &nWidth, IN const int &nHeight, IN OUT CRect &rc);
  119. static void ToCompressImage(IN const TCHAR *pImageSource, IN const TCHAR *pImageDest,IN const int &nXPiexel,IN const int &nYPiexel);
  120. };
  121. #endif