#if !defined(AFX_ChoosePhotoSkin2_H__10660444_160F_41F4_9A1D_50A4F7C66150__INCLUDED_) #define AFX_ChoosePhotoSkin2_H__10660444_160F_41F4_9A1D_50A4F7C66150__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif #include "ChoosePhotoBase.h" //文件夹信息 typedef struct _SFolderInfo { CString strName; CStringArray AllPhotoPath; // 查看全部相片;相片名的全路径名; CStringArray SelPhotoPath; // 查看选中相片; CStringArray NoSelPhotoPath; // 查看未选相片; CStringArray DelPhotoPath; // 查看删除相片;相片名的全路径名; CStringArray IntoAlbumPath; // 查看入册相片; CStringArray EntryPhasepath; // 查看入底相片; }SFolderInfo; // 选片 class ChoosePhotoSkin2 : public ChoosePhotoBase { public: enum { IDD = IDD_DLGChoosePhotoSkin2 }; ChoosePhotoSkin2(DWORD id, CWnd *pParent); ChoosePhotoSkin2(CWnd* pParent = NULL); // standard constructor protected: virtual BOOL OnInitDialog(); virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support virtual BOOL PreTranslateMessage(MSG* pMsg); afx_msg void OnPaint(); afx_msg void OnDestroy(); afx_msg BOOL OnEraseBkgnd(CDC* pDC); afx_msg void OnFSCommandShockwaveflash1(LPCTSTR command, LPCTSTR args); afx_msg void OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnClose(); afx_msg void OnRclickList1(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnButton4(); // 保存按钮 afx_msg void OnClickList1(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnTimer(UINT nIDEvent); DECLARE_EVENTSINK_MAP() //}}AFX_MSG void OnCommandMenu(UINT nID); //响应菜单命令 afx_msg VOID OnNewFolder(); afx_msg VOID OnDelFolder(); afx_msg VOID OnOpenFolder(); afx_msg VOID OnReturnMainDir(); #ifdef VC60 afx_msg void OnBtnClick(WPARAM wParam, LPARAM lParam); #else afx_msg LRESULT OnBtnClick(WPARAM wParam, LPARAM lParam); #endif afx_msg void OnComMsg(WPARAM wParam, LPARAM lParam); afx_msg long UpdateTakeZS(WPARAM inWParam, LPARAM inLParam); DECLARE_MESSAGE_MAP() public: virtual void LoadPhotos(); virtual BOOL ReLoad(); virtual BOOL OnDel(); virtual BOOL GetData(); //点击右键事件 virtual void OnRclickList1(); virtual void UpdateChooseZS(); virtual CStringArray* GetCurArray(const int nIndx, SFolderInfo* m_pForder = NULL); virtual CString GetZSInfo(int iItem); virtual void GetNoSelPhoto(); //获取所有文件夹名 virtual void GetAllFolderNames(CString& strNames); //绘制界面 virtual void DrawInterface(); //绘制工作 virtual void DrawImageWork(); //获取路径添加到选中相片 virtual int GetPathAddToSel(CStringArray* pSelArr, const CString& strName, CStringArray* pAllArr); //通过文件夹获取所有文件 virtual void GetAllFileFromFolder(const int nType, CString& strFileNames); public: //加载文件夹 void LoadFolder(); //查看选中相片 void OnSelPhoto(); //查看入底相片 void GetDiskPhoto(); //查看入册相片 void GetAlbumPhoto(); //绘制 void DrawImage(CListCtrl* pListCtrl, CImageList* pImgList); //获取文件夹数据 int GetFolderData(CArray& folderarr); //添加文件夹 SFolderInfo* AddFolder(const CString& strName); //通过文件名删除文件夹 int DelFolderFromName(const CString& stName); //移动文件子目录到主目录 int MoveFileSubToMain(SFolderInfo* pCurrForder, const int nCurrSelIndx = 0); //移动文件主目录到子目录 int MoveFileMainToSub(vector& vMoveFile, SFolderInfo* pCurrSelForder, const int nCurrSelIndx = 0); //通过索引查找文件夹 SFolderInfo* FindForderFromIndx(const int nIdx); //显示文件夹菜单 int ShowFolderMenu(const int nType, const LPCTSTR pName); //显示文件夹菜单 int ShowFolderMenu(vector& vdata); //清除所有文件夹 void ClearFolder(); #if USE_SHARE_FLORD void LoadSelectPhotos(); void LoadDesignPhotos(); void LoadNecessaryImage(IN CStringArray &strAryOfEarlyImage, IN CStringArray &strAryOfOriginalImage, IN const int &nSelectType); void LoadSpecifiedDirectoryPhotos(IN LPCTSTR lpSpecifiedDirectory, OUT CStringArray &strArray, IN BOOL bEffect, IN CStringArray *pEarlyDirectory /*= NULL*/, IN CStringArray *pEarlyImages = NULL ); #endif //#if USE_SHARE_FLORD private: void SortArray(); void CheckForAlbum(); int GetPathAddToSel(const CString& strName); BOOL IsSelAlbumPhoto(CString path); void CheckForDisk(); //通过文件夹名读取文件 void GetNamesFromFoler(const CString& strFolder, const CString& strPhotos, CStringArray& arr); //从文件夹名集里获取文件夹名 void GetFolderFromFolders(const CString& strFolders); //获取文件夹里删除的相片名 void GetFolderDelPhotos(CString& strDel); //获取删除的所有相片名 void GetDelPhotos(CStringArray* pDelPhotoArr, CString& strDelPhotos); void GetDelPhotos(const CString& strFolderName, CStringArray* pDelPhotoArr, const BOOL bAddEnd, CString& strDelPhotos); BOOL IsSelDiskPhoto(CString path); //双击 void OnDblclkList1(); //添加列表项名 int AddListItemName(CListCtrl* pListCtrl); // Construction public: CString m_strStatusOfChoosePhoto; // Jeff.add 2014.08.30。 Image* m_pFolderImg; //文件夹icon SFolderInfo* m_OpenFolder; SFolderInfo* m_pCurrSelFolder; //当前文件夹 vector m_vFolder; //文件夹 }; #endif