123456789101112131415161718192021222324252627282930313233 |
- #pragma once
- #include "PropertyGrid.h"
- class ICustomItem
- {
- public:
- // basic required stuff
- //
- virtual CPropertyGrid::EEditMode GetEditMode() = 0;
- virtual void DrawItem(CDC& dc, CRect rc, bool focused) = 0;
- // validation
- virtual void ValidateChanges() {}
- // mouse stuff
- virtual bool OnLButtonDown(CRect rc, CPoint pt) { return false; }
- virtual void OnMouseMove(CRect rc, CPoint pt) {}
- virtual void OnLButtonUp(CRect rc, CPoint pt) {}
- // in-place edit
- virtual string GetStringForInPlaceEdit() { return ""; }
- virtual bool OnItemEdited(string strNewValue) { return false; }
- // dropdown edit
- virtual void ShowDropDown(CRect rc) {}
- // modal edit
- virtual bool OnEditItem() { return false; }
- protected:
- friend class CPropertyGrid; //³äµ±CPropertyGridµÄÓÑÔªÀà;
- CPropertyGrid* m_pGrid;
- };
|