XTPReportFilterEditControl.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:6k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // XTPReportFilterEditControl.h: interface for the CXTPReportFilterEditControl class.
  2. //
  3. // This file is a part of the XTREME REPORTCONTROL MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. //{{AFX_CODEJOCK_PRIVATE
  21. #if !defined(__XTPREPORTFILTEREDITCONTROL_H__)
  22. #define __XTPREPORTFILTEREDITCONTROL_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. #include "XTPReportDefines.h"
  28. //===========================================================================
  29. // Summary:
  30. //     The CXTPReportFilterEditControl class provides the functionality of the
  31. //     filter string edit control, associated to the main Report control window.
  32. // Remarks:
  33. //     It has all the functionality of the CEdit control, as well as some
  34. //     specific additions.
  35. //
  36. //     This control should be instantiated in the user's application.
  37. //     To use a field chooser in an existing dialog box of your application,
  38. //     add a standard list box to your dialog template using the dialog
  39. //     editor and then initialize your CXTPReportSubListControl object
  40. //     inside dialog OnInitialUpdate handler. See example below:
  41. // <code>
  42. // // CXTPReportFilterEditControl wndFilter;
  43. // wndFilter.SubclassDlgItem(IDC_FILTEREDIT, &pFilterDialog);
  44. // // CXTPReportControl wndReport;
  45. // wndReport.GetColumns()->GetReportHeader()->SetFilterEditCtrl(&wndFilter);
  46. // </code>
  47. // See Also: CEdit, CXTPReportHeader::SetFilterEditCtrl
  48. //===========================================================================
  49. class _XTP_EXT_CLASS CXTPReportFilterEditControl : public CEdit
  50. {
  51. public:
  52. //-----------------------------------------------------------------------
  53. // Summary:
  54. //     Constructs a CXTPReportFilterEditControl object.
  55. // Remarks:
  56. //     You construct a CXTPReportFilterEditControl object in two steps.
  57. //     First, call the constructor CXTPReportFilterEditControl and
  58. //     then call Create, which initializes the Windows edit box and
  59. //     attaches it to the CXTPReportFilterEditControl.
  60. // Example:
  61. // <code>
  62. // // Declare a local CXTPReportFilterEditControl object.
  63. // CXTPReportFilterEditControl myFilterEdit;
  64. //
  65. // // Declare a dynamic CXTPReportFilterEditControl object.
  66. // CXTPReportFilterEditControl* pMyFilterEdit = new CXTPReportFilterEditControl;
  67. // </code>
  68. //
  69. // See Also: CEdit, SetReportCtrl, CXTPReportHeader::SetFilterEditCtrl
  70. //-----------------------------------------------------------------------
  71. CXTPReportFilterEditControl();
  72. //-----------------------------------------------------------------------
  73. // Summary:
  74. //     Destroys CXTPReportFilterEditControl object, handles its cleanup.
  75. //-----------------------------------------------------------------------
  76. ~CXTPReportFilterEditControl();
  77. public:
  78. //-----------------------------------------------------------------------
  79. // Summary:
  80. //     Sets the associated report control.
  81. // Parameters:
  82. //     pReportCtrl - Pointer to the associated report control.
  83. // Remarks:
  84. //     Usually this method should not be called by the user, instead
  85. //     should call CXTPReportHeader::SetFilterEditCtrl.
  86. // Returns:
  87. //     TRUE if set successfully, FALSE otherwise.
  88. // See Also: CXTPReportHeader::SetFilterEditCtrl, GetReportCtrl
  89. //-----------------------------------------------------------------------
  90. BOOL SetReportCtrl(CXTPReportControl* pReportCtrl);
  91. //-----------------------------------------------------------------------
  92. // Summary:
  93. //     Returns a pointer to the associated report control.
  94. // Returns:
  95. //     An associated report control.
  96. // See Also: CXTPReportHeader::SetFilterEditCtrl, SetReportCtrl
  97. //-----------------------------------------------------------------------
  98. CXTPReportControl* GetReportCtrl();
  99. //-----------------------------------------------------------------------
  100. // Summary:
  101. //     Call this member to set the edit control text.
  102. // Parameters:
  103. //     lpszText    - New text of the edit control.
  104. //-----------------------------------------------------------------------
  105. void SetText(const CString& lpszText);
  106. //-----------------------------------------------------------------------
  107. // Summary:
  108. //     Call this member to get the edit text.
  109. // Returns:
  110. //     The Edit control text.
  111. //-----------------------------------------------------------------------
  112. CString GetText() const;
  113. //-----------------------------------------------------------------------
  114. // Summary:
  115. //     Call this member to set grayed-out text displayed in the edit control
  116. //     that displayed a helpful description of what the control is used for.
  117. // Parameters:
  118. //     lpszHint - Edit hint to be set
  119. // Example:
  120. //     <code>pEdit->SetHint(_T("Click to find a contact");</code>
  121. // See Also: GetHint
  122. //-----------------------------------------------------------------------
  123. void SetHint(LPCTSTR lpszHint);
  124. //-----------------------------------------------------------------------
  125. // Summary:
  126. //     Call this member to get grayed-out text displayed in the edit control
  127. //     that displayed a helpful description of what the control is used for.
  128. // Returns:
  129. //     Edit hint of the control
  130. // See Also: SetHint
  131. //-----------------------------------------------------------------------
  132. CString GetHint() const;
  133. protected:
  134. //{{AFX_CODEJOCK_PRIVATE
  135. DECLARE_MESSAGE_MAP()
  136. //{{AFX_MSG(CXTPReportFilterEditControl)
  137. afx_msg BOOL OnChange();
  138. afx_msg void OnPaint();
  139. //}}AFX_MSG
  140. //}}AFX_CODEJOCK_PRIVATE
  141. protected:
  142. CXTPReportControl* m_pReportCtrl;   // Pointer to the main report control.
  143. CString             m_strHint;      // Grayed-out text displayed in the edit control to show a helpful description like "Enter filter text here".
  144. };
  145. #endif //#if !defined(__XTPREPORTFILTEREDITCONTROL_H__)