#pragma once //Block衍生類別:Block Not #include "BlockBasis.h" class CBlockNot : public CBlockBasis { private: //Block rect(存在一個輸入Pin,一個輸出Pin) CRect m_rcPinIn; CRect m_rcPinOut; //連接指標 CBlockBasis* m_pBlkHead; //連接Block編號 int m_iBlkHeadNum; public: //建構、解構子 CBlockNot (); virtual ~CBlockNot (); //取得、設定rect virtual void SetBlkRect (CPoint, int, int); virtual CRect GetPinIn1Rect () const; virtual CRect GetPinOutRect () const; //取得、設定連接至Block的指標 virtual CBlockBasis* GetBlkHead1Ptr () const; virtual void SetBlkHead1Ptr (CBlockBasis*); //取得、設定連接至Block的編號 virtual int GetBlkHead1Num () const; virtual void SetBlkHead1Num (int) ; virtual double GetBlkValue () const; //取得Block值 virtual int GetValueFlag () const; //取得Value旗標 virtual void Move (CPoint); //移動Block virtual void Draw (CDC*); //繪製Block virtual void DrawLine (CDC*); //繪製Block連接線 //判斷Block種類 virtual int BlkTypeIs () const; };