FloorObject.cpp
上传用户:zhout2004
上传日期:2007-01-02
资源大小:218k
文件大小:4k
源码类别:

ActiveX/DCOM/ATL

开发平台:

Visual C++

  1. /************************************
  2.   REVISION LOG ENTRY
  3.   Revision By: Mihai Filimon
  4.   Revised on 9/12/98 2:17:20 PM
  5.   Comments: FloorObject.cpp: implementation of the CFloorObject class.
  6.  ************************************/
  7. #include "stdafx.h"
  8. #include "FloorObject.h"
  9. #include "XFloorWndCtl.h"
  10. #ifdef _DEBUG
  11. #undef THIS_FILE
  12. static char THIS_FILE[]=__FILE__;
  13. #define new DEBUG_NEW
  14. #endif
  15. IMPLEMENT_DYNAMIC(CFloorObject,CObject)
  16. //////////////////////////////////////////////////////////////////////
  17. // Construction/Destruction
  18. //////////////////////////////////////////////////////////////////////
  19. // Function name : CFloorObject::CFloorObject
  20. // Description     : Default constructor
  21. // Return type : 
  22. CFloorObject::CFloorObject(CXFloorWndCtrl* pWnd, LPCTSTR lpszObjectName):m_sName(lpszObjectName),m_brBkGnd(defaultBkGnd)
  23. {
  24. m_pParentWnd = pWnd;
  25. m_rect.SetRectEmpty(); // this coordonate is in client coordonate
  26. m_bPullUp = TRUE; // By default, object is putting up in floor window
  27. m_nHeight = defaultHeight; //Do not call SetHeight
  28. m_nFormatDrawText = DT_CENTER | DT_SINGLELINE | DT_VCENTER;
  29. m_lParam = NULL;
  30. }
  31. // Function name : CFloorObject::~CFloorObject
  32. // Description     : virtual Destructor
  33. // Return type : 
  34. CFloorObject::~CFloorObject()
  35. {
  36. }
  37. // Function name : CFloorObject::Invalidate
  38. // Description     : Call to invalidate the page
  39. // Return type : void 
  40. // Argument         : BOOL bEraseBkGnd
  41. void CFloorObject::Invalidate(BOOL bEraseBkGnd)
  42. {
  43. if (m_pParentWnd)
  44. if (::IsWindow(m_pParentWnd->m_hWnd))
  45. {
  46. CDC* pDC = m_pParentWnd->GetDC();
  47. OnDraw(pDC, bEraseBkGnd);
  48. m_pParentWnd->ReleaseDC(pDC);
  49. }
  50. }
  51. // Function name : CFloorObject::SetName
  52. // Description     : Set the new name of this object.
  53. // Return type : void 
  54. // Argument         : LPCTSTR lpszObjectName
  55. void CFloorObject::SetName(LPCTSTR lpszObjectName)
  56. {
  57. m_sName = CString(lpszObjectName);
  58. Invalidate(TRUE);
  59. }
  60. // Function name : CFloorObject::GetName
  61. // Description     : Return the name of page
  62. // Return type : const CString&
  63. const CString& CFloorObject::GetName()
  64. {
  65. return m_sName;
  66. }
  67. // Function name : CFloorObject::IsPullUp
  68. // Description     : return true if this object is up.
  69. // Return type : const BOOL 
  70. const BOOL CFloorObject::IsPullUp()
  71. {
  72. return m_bPullUp;
  73. }
  74. // Function name : CFloorObject::IsPullDown
  75. // Description     : return TRUE if the object is puting down
  76. // Return type : const BOOL 
  77. const BOOL CFloorObject::IsPullDown()
  78. {
  79. return !IsPullUp();
  80. }
  81. // Function name : CFloorObject::SetHeight
  82. // Description     : Call this function to set the height of object
  83. // Return type : int 
  84. // Argument         : int nHeight
  85. int CFloorObject::SetHeight(int nHeight)
  86. {
  87. int sNHeight = m_nHeight;
  88. m_nHeight = nHeight;
  89. m_pParentWnd->RecalcLayout();
  90. SetRectClient(m_pParentWnd->GetRectClient());
  91. return sNHeight;
  92. }
  93. // Function name : CFloorObject::GetHeight
  94. // Description     : Return the height
  95. // Return type : const int 
  96. const int CFloorObject::GetHeight()
  97. {
  98. return m_nHeight;
  99. }
  100. // Function name : CFloorObject::SetBkGnd
  101. // Description     : Set the new RGB form bkgnd of page
  102. // Return type : COLORREF 
  103. // Argument         : COLORREF rgbBkGnd
  104. COLORREF CFloorObject::SetBkGnd(COLORREF rgbBkGnd)
  105. {
  106. LOGBRUSH logBrush; m_brBkGnd.GetLogBrush(&logBrush);
  107. m_brBkGnd.DeleteObject();
  108. m_brBkGnd.CreateSolidBrush(rgbBkGnd);
  109. Invalidate(TRUE);
  110. return logBrush.lbColor;
  111. }
  112. // Function name : CFloorObject::IsPointInObject
  113. // Description     : Return TRUE if point is in m_rect
  114. // Return type : BOOL 
  115. // Argument         : CPoint point
  116. BOOL CFloorObject::PtInObject(CPoint point)
  117. {
  118. return m_rect.PtInRect(point);
  119. }
  120. LPARAM CFloorObject::SetUserData(LPARAM lParam)
  121. {
  122. LPARAM lResult = m_lParam;
  123. m_lParam = lParam;
  124. return lResult;
  125. }
  126. const LPARAM CFloorObject::GetUserData()
  127. {
  128. return m_lParam;
  129. }