123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- #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<CStringArray, CStringArray>& folderarr);
- //添加文件夹
- SFolderInfo* AddFolder(const CString& strName);
- //通过文件名删除文件夹
- int DelFolderFromName(const CString& stName);
- //移动文件子目录到主目录
- int MoveFileSubToMain(SFolderInfo* pCurrForder, const int nCurrSelIndx = 0);
- //移动文件主目录到子目录
- int MoveFileMainToSub(vector<CString>& vMoveFile, SFolderInfo* pCurrSelForder, const int nCurrSelIndx = 0);
- //通过索引查找文件夹
- SFolderInfo* FindForderFromIndx(const int nIdx);
- //显示文件夹菜单
- int ShowFolderMenu(const int nType, const LPCTSTR pName);
- //显示文件夹菜单
- int ShowFolderMenu(vector<SMenuBtnData>& 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<SFolderInfo*> m_vFolder; //文件夹
- };
- #endif
|