#if !defined(AFX_ShowEffectDlg_H__2F27D99E_BAA5_4945_85CE_96D524B078DA__INCLUDED_) #define AFX_ShowEffectDlg_H__2F27D99E_BAA5_4945_85CE_96D524B078DA__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // ShowEffectDlg.h : header file // ///////////////////////////////////////////////////////////////////////////// // ShowEffectDlg dialog #include <vector> using namespace std; #define RCARRARCOUNT 100 class ShowEffectDlg : public CDialog { float m_tempscale; // �Ƿ�Ҫ���¼���PNGЧ��ͼ; BOOL m_bLoadPNG; // �Ƿ�Ҫ���¼���JPG�˿���Ƭ; BOOL m_bLoadJPG; CArray<int,int>m_rcarray[RCARRARCOUNT]; // m_rcarray����,���ڼ�¼PNGͼƬ���alphaɫС��200�����ص�����; // ��ǰ�����ص�PNGЧ��ͼ; Bitmap *m_pImgPNG; // ��ǰ�����ص�PNGЧ������ͼ; Bitmap *m_pImgPNGbake; // ��ǰ�����صĹ˿�JPG��Ƭ; Image *m_pImgJPG; float m_fscale; CRect m_rcscreen; CPoint m_startpt; CPoint m_startpt2; // PNGЧ��ͼ����; CStringArray m_AryPNGImgpaths; // PNGЧ��ͼ��List�б����λ������ֵ; int m_nPNGIndex; // JPG�˿���Ƭ��List�б��е�λ������ֵ; int m_nJPGIndex; Bitmap *m_pImgFinalShow;// m_pImgFinalShow:������ʾPNGЧ��ͼ��Bimap����PNG+������Ƭ �϶�Ϊһ�Ľ����; CRect m_rc; CRect m_rcbak; // Construction public: void GetRgn(Bitmap *pBmpImage); // ѡƬ��������ʾ����Ƭ����; CStringArray *m_pPhotopatharray; void RcChange(); void InitRc(Image *img); void MakeEffect(); ShowEffectDlg(CWnd* pParent = NULL); // standard constructor vector<CString> m_vPNGFile; CImageList m_ImageListThumb; // image list holding the thumbnails bool m_bRunning; // Flag to whether thread is on running or not bool m_bTerminate; // Flag to Thread to be terminated unsigned int m_dwThreadID; // Thread ID HANDLE m_hThread, m_hEvent; // Thread and Event handle BOOL TerminateThread(); vector<CString> m_vJPGFile; CImageList m_ImageListThumb2; // image list holding the thumbnails bool m_bRunning2; // Flag to whether thread is on running or not bool m_bTerminate2; // Flag to Thread to be terminated unsigned int m_dwThreadID2; // Thread ID HANDLE m_hThread2, m_hEvent2; // Thread and Event handle BOOL TerminateThread2(); // Dialog Data //{{AFX_DATA(ShowEffectDlg) enum { IDD = IDD_DLGShowEffect }; // JPG���õ�Listͼ�б�; CListCtrl m_ListJPG; // PNG���õ�Listͼ�б�; CListCtrl m_ListPNG; //}}AFX_DATA // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(ShowEffectDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: // Generated message map functions //{{AFX_MSG(ShowEffectDlg) virtual BOOL OnInitDialog(); afx_msg void OnDestroy(); afx_msg void OnPaint(); afx_msg BOOL OnEraseBkgnd(CDC* pDC); afx_msg void OnButton1(); afx_msg void OnButton2(); afx_msg void OnLButtonDown(UINT nFlags, CPoint point); afx_msg void OnMouseMove(UINT nFlags, CPoint point); afx_msg void OnLButtonUp(UINT nFlags, CPoint point); afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt); afx_msg void OnClickList1(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnTimer(UINT nIDEvent); afx_msg void OnClickList2(NMHDR* pNMHDR, LRESULT* pResult); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_ShowEffectDlg_H__2F27D99E_BAA5_4945_85CE_96D524B078DA__INCLUDED_)