#pragma once #include "ImageDlg.h" #include "TextEffectDlg.h" class CSPPropertyGridItemImage :public CSPPropertyGridItem { public: CSPPropertyGridItemImage(CString strCaption, LPCTSTR strValue = NULL, CString* pBindString = NULL); CSPPropertyGridItemImage(UINT nID); virtual ~CSPPropertyGridItemImage(void); void OnInplaceButtonDown(); CImageDlg m_dlgImage; }; //////////////////////////////////////// class CSPPropertyGridItemText :public CSPPropertyGridItem { public: CSPPropertyGridItemText(CString strCaption, LPCTSTR strValue = NULL, CString* pBindString = NULL); CSPPropertyGridItemText(UINT nID); virtual ~CSPPropertyGridItemText(void); void OnInplaceButtonDown(); CTextEffectDlg m_dlgText; }; class CSPPropertyGridItemRect : public CSPPropertyGridItem { class CCustomItemChildsAll; class CCustomItemChildsPad; friend class CCustomItemChildsAll; friend class CCustomItemChildsPad; public: CSPPropertyGridItemRect(CString strCaption, CRect rcValue); CSPPropertyGridItemRect(UINT nID, CRect rcValue); void SetRect(CRect rc); CRect GetRect(); protected: virtual void OnAddChildItem(); virtual void SetValue(CString strValue); private: void UpdateChilds(); CString RectToString(CRect rc); private: CCustomItemChildsAll* m_itemAll; CCustomItemChildsPad* m_itemLeft; CCustomItemChildsPad* m_itemTop; CCustomItemChildsPad* m_itemRight; CCustomItemChildsPad* m_itemBottom; CRect m_rcValue; };