#if !defined(AFX_IMGLISTVIEW_H__C0DD00C1_EEA9_4E84_BB03_8DE83B2DEDEA__INCLUDED_) #define AFX_IMGLISTVIEW_H__C0DD00C1_EEA9_4E84_BB03_8DE83B2DEDEA__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // ImgListView.h : header file // ///////////////////////////////////////////////////////////////////////////// // CImgListView view #include using std::map; #define LEFT_MARJIN 15 #define TOP_MARJIN 15 #define ITEM_WIDTH 190 // 380 // °ªÀÌ ¹Ù²î¾î¾ß ÇϹǷΠdefineÀ̳ª const´Â ¾î¿ï¸®Áö ¾Ê´Â´Ù. #define ITEM_HEIGHT 160 // 320 // #define ITEM_TEXT 22 // ¾ÆÀÌÅÛ¿¡ ´ëÇÑ ±ÛÀÚ ³ôÀÌ #define ITEM_ROW_MARJIN 15 // ¾ÆÀÌÅÛ°ú ¾ÆÀÌÅÛÀÇ °¡·Î»çÀÌ #define ITEM_COL_MARJIN 20 // ¾ÆÀÌÅÛ°ú ¾ÆÀÌÅÛÀÇ ¼¼·Î»çÀÌ class CPotoItem { public: CPotoItem(); CPotoItem(CString strFilePath); CPotoItem(CString strFilePath,CString strFileName,CString strImgInfo =_T("")); virtual ~CPotoItem(); public: void GetItemRect(int nItem); void DrawRect(CDC *pDC, COLORREF color,CRect rc); void DrawText(CDC* pDC, COLORREF color ); void Draw(CDC* pDC, CRect rcClient, CRect rcChange ); CImage m_Img; CRect m_rcImg; BOOL m_bSelect; // ¼±Åà µÇ¾ú´Â°¡ BOOL m_bValid; // °´Ã¼ÀÇ Á¸À缺 BOOL m_bProcesing; // ó¸®ÁßÀΰ¡ TCHAR m_Path[MAX_PATH]; CRect GetRect() { return m_rcImg; } void SetSelect( bool bState ) { m_bSelect = bState; } void ToggleSelected() { m_bSelect = !m_bSelect;} }; typedef map IMG_MAP; #define KEY_DOWN(VK_CODE) ((GetAsyncKeyState(VK_CODE) & 0x8000) ? 1 : 0) #define UM_CLK_ITEM_UPDATE WM_USER + 102 class CImgListView : public CScrollView { protected: CImgListView(); // protected constructor used by dynamic creation DECLARE_DYNCREATE(CImgListView) // Attributes public: // Operations public: // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CImgListView) protected: virtual void OnDraw(CDC* pDC); // overridden to draw this view virtual void OnInitialUpdate(); // first time after construct //}}AFX_VIRTUAL // Implementation protected: virtual ~CImgListView(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif // Generated message map functions //{{AFX_MSG(CImgListView) afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnPaint(); afx_msg void OnLButtonDown(UINT nFlags, CPoint point); afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point); //}}AFX_MSG DECLARE_MESSAGE_MAP() public: IMG_MAP m_ImgMap; int m_nHItem; // ¼¼·Î·Î ¸î°³°¡ Ãâ·ÂÀÌ µÉ°ÍÀΰ¡? int m_nHItemOld; int m_nAddItem; // ÀоîµéÀÎ ¾ÆÀÌÅÛÀÇ ÃѰ¹¼ö CBrush m_BgBrush; // ¹è°æBrush CImage* m_pSelImg; CPotoItem *m_pSelectItem; public: CImage* GetSelImg() const {return m_pSelImg;}; void DeleteItemAll(); BYTE* GetImagePoint(); TCHAR* GetSelectImgPath(); BOOL SelectItemChk(CPoint point); BOOL LoadImageFolder(CString strPath, CString strGlassID, CString strOp = _T("")); BOOL LoadImage(CString strFilePath); void SetPageSize(); void UpdateItem(); CRect GetItemRect(int nItem); void UpdateView(); public: afx_msg BOOL OnEraseBkgnd(CDC* pDC); afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); afx_msg void OnDestroy(); }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_IMGLISTVIEW_H__C0DD00C1_EEA9_4E84_BB03_8DE83B2DEDEA__INCLUDED_)