Variable.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Variable.h: interface for the CVariable class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_VARIABLE_H__E5BEB1C8_4FE2_4705_986A_1E1D779EC41F__INCLUDED_)
  5. #define AFX_VARIABLE_H__E5BEB1C8_4FE2_4705_986A_1E1D779EC41F__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include<Afxdisp.h>
  10. class EXPORT_CLASS CVariable : public COleVariant
  11. {
  12. friend CDataNodeBase;
  13. public:
  14. CVariable();
  15. virtual ~CVariable();
  16. virtual CString GetTextValue();
  17. virtual void SetTextValue(CString strTextValue, VARTYPE vtSrc);
  18. virtual CString GetSaveFmtTxt();
  19. virtual void SetSaveFmtTxt(CString strSaveFmtTxt);
  20. VARTYPE GetVarType();
  21. static CString GetTypeName(VARTYPE vt);
  22. CVariable& operator = (COleVariant & var);
  23. // 获取特性
  24. virtual CString GetAttributesMsg();
  25. // 设置特性
  26. void SetAttributes(BOOL bIsDesignTimeVar, BOOL bCanRead, BOOL bCanWrite, VARTYPE vtSrc);
  27. protected:
  28. void SetString (LPCTSTR lpszSrc, VARTYPE vtSrc);
  29. CString m_strTextValue;
  30. BOOL m_bCanRead;
  31. BOOL m_bCanWrite;
  32. BOOL m_bIsDesignTimeVar;// 1: 设计时变量, -1:纯运行时变量,此类变量不需要保存, 0: 运行时变量,但此类变量需要保存
  33. };
  34. #define DefineSetVariableValue(Var, Value) \
  35. {\
  36. *((COleVariant*)Var) = Value;\
  37. }\
  38. #define DefineVar(Var) (*((COleVariant*)Var))
  39. #endif // !defined(AFX_VARIABLE_H__E5BEB1C8_4FE2_4705_986A_1E1D779EC41F__INCLUDED_)