#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 using namespace std; #define RCARRARCOUNT 100 class ShowEffectDlg : public CDialog { float m_tempscale; Bitmap *m_pImagebak; BOOL m_bLoadEffect; BOOL m_bLoadPhoto; CArraym_rcarray[RCARRARCOUNT]; // m_rcarray数组,用于记录PNG图片里的alpha色小于200的像素点坐标; Bitmap *m_pImage; Image *m_pPhoto; float m_fscale; CRect m_rcscreen; CPoint m_startpt; CPoint m_startpt2; CStringArray m_effectpatharray; int m_effectpos; int m_photopos; Bitmap *m_pbmp;// m_pbmp:最终显示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 m_vFileName; 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 m_vFileName2; 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 }; CListCtrl m_List2; CListCtrl m_List1; //}}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_)