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

对话框与窗口

开发平台:

Visual C++

  1. // XTPPropertyGridItemFont.h interface for the CXTPPropertyGridItemFont class.
  2. //
  3. // This file is a part of the XTREME PROPERTYGRID 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(__XTPPROPERTYGRIDITEMFONT_H__)
  22. #define __XTPPROPERTYGRIDITEMFONT_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. //===========================================================================
  28. // Summary:
  29. //     CXTPPropertyGridItemFont is a CXTPPropertyGridItem derived class.
  30. //     It is used to create a Font value item in a Property Grid control.
  31. //===========================================================================
  32. class _XTP_EXT_CLASS CXTPPropertyGridItemFont : public CXTPPropertyGridItem
  33. {
  34. public:
  35. //-----------------------------------------------------------------------
  36. // Summary:
  37. //     Constructs a CXTPPropertyGridItemFont object.
  38. // Parameters:
  39. //     strCaption - Caption of the item.
  40. //     nID        - Identifier of the item.
  41. //     font       - Initial font value.
  42. //-----------------------------------------------------------------------
  43. CXTPPropertyGridItemFont(LPCTSTR strCaption, LOGFONT& font);
  44. CXTPPropertyGridItemFont(UINT nID, LOGFONT& font); // <COMBINE CXTPPropertyGridItemFont::CXTPPropertyGridItemFont@LPCTSTR@LOGFONT&>
  45. //-----------------------------------------------------------------------
  46. // Summary:
  47. //     Destroys a CXTPPropertyGridItemFont object.
  48. //-----------------------------------------------------------------------
  49. virtual ~CXTPPropertyGridItemFont();
  50. public:
  51. //-----------------------------------------------------------------------
  52. // Summary:
  53. //     Call this method to change the item's value.
  54. // Parameters:
  55. //     font - The new value of the item.
  56. //-----------------------------------------------------------------------
  57. virtual void SetFont(LOGFONT& font);
  58. //-----------------------------------------------------------------------
  59. // Summary:
  60. //     Call this method to get the LOGFONT value of the item.
  61. // Parameters:
  62. //     lf - Pointer to the LOGFONT structure to receive the font information.
  63. //-----------------------------------------------------------------------
  64. virtual void GetFont(LOGFONT* lf);
  65. //-----------------------------------------------------------------------
  66. // Summary:
  67. //     Call this method to change the item's value.
  68. // Parameters:
  69. //     clr - The new COLORREF value of the item.
  70. //-----------------------------------------------------------------------
  71. virtual void SetColor(COLORREF clr);
  72. //-----------------------------------------------------------------------
  73. // Summary:
  74. //     Call the member to get the COLORREF value of this item.
  75. // Returns:
  76. //     The COLORREF value of the item.
  77. //-----------------------------------------------------------------------
  78. virtual COLORREF GetColor();
  79. protected:
  80. //-----------------------------------------------------------------------
  81. // Summary:
  82. //     This method is called when the user presses the in-place button.
  83. //     Override the method to show an item-specific dialog.
  84. // Parameters:
  85. //     pButton - Button that was pressed
  86. // Remarks:
  87. //     The in-place button is the button that the user presses to
  88. //     display the font picker dialog.
  89. //-----------------------------------------------------------------------
  90. virtual void OnInplaceButtonDown(CXTPPropertyGridInplaceButton* pButton);
  91. //-----------------------------------------------------------------------
  92. // Summary:
  93. //     This method is called when an item is drawn. Override this function if
  94. //     needed.
  95. // Parameters:
  96. //     dc      - Pointer to a valid device context.
  97. //     rcValue - Bounding rectangle of the item.
  98. // Returns:
  99. //     TRUE if the item is self-drawn.
  100. //-----------------------------------------------------------------------
  101. virtual BOOL OnDrawItemValue(CDC& dc, CRect rcValue);
  102. //-----------------------------------------------------------------------
  103. // Summary:
  104. //     Retrieves the bounding rectangle of the item value's text.
  105. //     Override this member function to change it.
  106. // Returns:
  107. //     A CRect object that represents the bounding rectangle of the
  108. //     item value's text.
  109. //-----------------------------------------------------------------------
  110. virtual CRect GetValueRect();
  111. //-----------------------------------------------------------------------
  112. // Summary:
  113. //     Converts a LOGFONT object into a string that contains the font's
  114. //      name and pt.
  115. // Parameters:
  116. //     lfValue  - LOGFONT object to convert to string.
  117. // Returns:
  118. //     A string that contains the name pt of the font.
  119. //-----------------------------------------------------------------------
  120. virtual CString FontToString(const LOGFONT& lfValue);
  121. private:
  122. static UINT_PTR CALLBACK FontDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
  123. protected:
  124. LOGFONT m_lfValue;      // Value of the item, this holds the current font value.
  125. COLORREF m_clrValue;    // Font color.
  126. protected:
  127. DECLARE_DYNAMIC(CXTPPropertyGridItemFont)
  128. };
  129. //////////////////////////////////////////////////////////////////////
  130. #endif // #if !defined(__XTPPROPERTYGRIDITEMFONT_H__)