#pragma once #include ".\itemeditcurvecentername.h" namespace NItem { class CItemEditCurveInName : public CItemEditCurveCenterName { public: CItemEditCurveInName(CSigmaDoc * ppDoc); ~CItemEditCurveInName(void); void OnLButtonDblClk(UINT nFlags, CPoint point) override; void OnLButtonDown(CDC *pDC, UINT nFlags, CPoint point, int vk) override; void OnLButtonUp(CDC* pDC, UINT nFlags, CPoint point, int vk) override; int OnMouseMove(CDC* pDC, UINT nFlags, CPoint point) override; BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) override; BOOL OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags) override; virtual void DoLButtonUp(CDC *pDC); virtual void BeginEdit(CDC * pDC); bool IsMoved() { return m_isMoved; } void EndEdit(CDC * pDC); protected: double begin_l0; double end_l0; double a0; bool isDrag; bool m_isMoved = FALSE; //根据桩号列表重新设置曲线的修饰(由类别修饰变为了个性修饰,曲线内部上名字改为了任意处上名字) int ResetOneAnyInName(POSITION posDoc, CArray& listL); //根据指针删除其列表范围线,并获得其桩号 void GetInNameLocation(CCurveEx* pParentCurve, CArray& listL, BOOL bDeleteRange); //重新生成一条曲线内部名称的范围线 void RecreateInName(POSITION posDoc); }; };