FloorLabeObject.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 11/15/98 9:42:21 PM
  5.   Comments: FloorLabeObject.cpp: implementation of the CFloorLabeObject class.
  6.  ************************************/
  7. #include "stdafx.h"
  8. #include "xfloorwnd.h"
  9. #include "FloorLabeObject.h"
  10. #include "XFloorWndCtl.h"
  11. #ifdef _DEBUG
  12. #undef THIS_FILE
  13. static char THIS_FILE[]=__FILE__;
  14. #define new DEBUG_NEW
  15. #endif
  16. //////////////////////////////////////////////////////////////////////
  17. // Construction/Destruction
  18. //////////////////////////////////////////////////////////////////////
  19. IMPLEMENT_DYNAMIC(CFloorLabelObject, CFloorPageObject)
  20. // Function name : CFloorLabelObject::CFloorLabelObject
  21. // Description     : constuctor
  22. // Return type : 
  23. // Argument         : CXFloorWndCtrl* pWnd
  24. // Argument         : LPCTSTR lpszPageName
  25. CFloorLabelObject::CFloorLabelObject(CXFloorWndCtrl* pWnd, LPCTSTR lpszPageName):
  26. CFloorPageObject(pWnd, lpszPageName)
  27. {
  28. NewPage(lpszPageName);
  29. }
  30. // Function name : CFloorLabelObject::NewPage
  31. // Description     : Add a new page into combo
  32. // Return type : void 
  33. // Argument         : LPCTSTR lpszPageName
  34. void CFloorLabelObject::NewPage(LPCTSTR lpszPageName)
  35. {
  36. int nItem = GetComboBox()->AddString(lpszPageName);
  37. GetComboBox()->SetItemData(nItem, (DWORD)this);
  38. }
  39. // Function name : CFloorLabelObject::~CFloorLabelObject
  40. // Description     : virtual destructor
  41. // Return type : 
  42. CFloorLabelObject::~CFloorLabelObject()
  43. {
  44. }
  45. // Function name : CFloorLabelObject::OnDraw
  46. // Description     : 
  47. // Return type : void 
  48. // Argument         : CDC* pDC
  49. // Argument         : BOOL bEraseBkGnd = FALSE
  50. void CFloorLabelObject::OnDraw(CDC* pDC, BOOL bEraseBkGnd)
  51. {
  52. // Do not implement this
  53. }
  54. // Function name : CFloorLabelObject::SetName
  55. // Description     : Rename the page
  56. // Return type : void 
  57. // Argument         : LPCTSTR lpszObjectName
  58. void CFloorLabelObject::SetName(LPCTSTR lpszObjectName)
  59. {
  60. ASSERT (m_pParentWnd);
  61. int iItem = m_pParentWnd->Lookup(this);
  62. if (iItem >= 0)
  63. {
  64. // The combobox need a rename functions
  65. GetComboBox()->DeleteString(iItem);
  66. NewPage(lpszObjectName);
  67. if (m_pParentWnd->GetActivePage() == this)
  68. GetLabelControl()->SetWindowText(lpszObjectName);
  69. CFloorPageObject::SetName(lpszObjectName);
  70. }
  71. }
  72. // Function name : CFloorLabelObject::OnActivateObject
  73. // Description     : When you activate this select into combo the new page
  74. // Return type : void 
  75. void CFloorLabelObject::OnActivateObject()
  76. {
  77. CFloorPageObject::OnActivateObject();
  78. ASSERT (m_pParentWnd);
  79. int iItem = m_pParentWnd->Lookup(this);
  80. if (iItem >= 0)
  81. {
  82. GetComboBox()->SetCurSel(iItem);
  83. CString sItem; GetComboBox()->GetLBText(iItem, sItem);
  84. GetLabelControl()->SetWindowText(sItem);
  85. }
  86. }
  87. // Function name : CFloorLabelObject::GetComboBox
  88. // Description     : return the combobox
  89. // Return type : CComboBox* 
  90. CComboBox* CFloorLabelObject::GetComboBox()
  91. {
  92. ASSERT (m_pParentWnd);
  93. return m_pParentWnd->GetComboBox();
  94. }
  95. // Function name : CFloorLabelObject::GetLabelControl
  96. // Description     : return the label control...
  97. // Return type : const CTLabelComboBox* 
  98. CTLabelComboBox* CFloorLabelObject::GetLabelControl()
  99. {
  100. ASSERT (m_pParentWnd);
  101. return m_pParentWnd->GetLabelControl();
  102. }
  103. // Function name : CFloorLabelObject::EndScroll
  104. // Description     : End scroll, refresh control
  105. // Return type : void 
  106. void CFloorLabelObject::EndScroll()
  107. {
  108. if (GetComboBox())
  109. {
  110. GetComboBox()->ModifyStyleEx(WS_EX_TRANSPARENT, 0);
  111. GetLabelControl()->Invalidate();
  112. }
  113. }
  114. // Function name : CFloorLabelObject::PrepareToScroll
  115. // Description     : begin to scroll
  116. // Return type : void 
  117. void CFloorLabelObject::PrepareToScroll()
  118. {
  119. if (GetComboBox())
  120. GetComboBox()->ModifyStyleEx(0, WS_EX_TRANSPARENT);
  121. }