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

对话框与窗口

开发平台:

Visual C++

  1. // XTPPropertyGridDefines.h
  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(__XTPPROPERTYGRIDDEFINES_H__)
  22. #define __XTPPROPERTYGRIDDEFINES_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. class CXTPPropertyGridItem;
  28. //-----------------------------------------------------------------------
  29. // Summary:
  30. //     The XTWM_PROPERTYGRID_NOTIFY message is sent to the CXTPPropertyGrid owner window
  31. //     whenever an action occurs within the CXTPPropertyGrid
  32. //
  33. // <code>XTWM_PROPERTYGRID_NOTIFY
  34. // nGridAction = (int) wParam;              // Property grid action
  35. // pItem = (CXTPPropertyGridItem*) lParam;  // pointer to a CXTPPropertyGridItem object</code>
  36. //
  37. //     When the user performs an action in the property grid, the XTWM_PROPERTYGRID_NOTIFY message is
  38. //     sent to the property grid's owner window.
  39. // Parameters:
  40. //     nGridAction -  Value of wParam specifies an value that indicates the user's
  41. //                    request .
  42. //     pItem - The value of lParam points to a CXTPPropertyGridItem object that contains information for the
  43. //             specified item. This pointer should <b>never</b> be NULL.
  44. // Returns:
  45. //     If the application is to process this message, the return value should be TRUE, otherwise the
  46. //     return value is FALSE.
  47. // Remarks:
  48. //     nGridAction parameter can be one of the following values:
  49. //          * <b>XTP_PGN_SORTORDER_CHANGED</b> The sort order has changed in the property grid.
  50. //          * <b>XTP_PGN_SELECTION_CHANGED</b> The selection has changed in the property grid.
  51. //          * <b>XTP_PGN_ITEMVALUE_CHANGED</b> The value has changed for pItem in the property grid.
  52. //          * <b>XTP_PGN_EDIT_CHANGED</b> The edit value has changed in the property grid.
  53. //          * <b>XTP_PGN_INPLACEBUTTONDOWN</b> Item's in-place button (combo or expand) down.
  54. //          * <b>XTP_PGN_ITEMEXPANDCHANGED</b> User expand or collapse item.
  55. //          * <b>XTP_PGN_DBLCLICK</b> The user double-clicks the left mouse button in the property grid.
  56. //          * <b>XTP_PGN_RCLICK</b> The user pressed the right mouse button in the property grid.
  57. //          * <b>XTP_PGN_VERB_CLICK</b> The user click verb in the property grid.
  58. //          * <b>XTP_PGN_REQUESTEDIT</b> The user changing value of the item.
  59. //
  60. // Example:
  61. //     Here is an example of how an application would process the XTWM_PROPERTYGRID_NOTIFY
  62. //     message.
  63. //
  64. // <code>
  65. // int nGridAction = (int)wParam;
  66. //
  67. //
  68. // switch (nGridAction)
  69. // {
  70. //     case XTP_PGN_SORTORDER_CHANGED:
  71. //           {
  72. //              m_nSort = m_wndXTPPropertyGrid.GetPropertySort();
  73. //              UpdateData(FALSE);
  74. //           }
  75. //         break;
  76. //     case XTP_PGN_ITEMVALUE_CHANGED:
  77. //           {
  78. //              CXTPPropertyGridItem* pItem = (CXTPPropertyGridItem*)lParam;
  79. //              TRACE(_T("Value Changed. Caption = %s, ID = %i, Value = %sn"),
  80. //                  pItem->GetCaption(), pItem->GetID(), pItem->GetValue());
  81. //           }
  82. //         break;
  83. //     case XTP_PGN_SELECTION_CHANGED:
  84. //           {
  85. //              CXTPPropertyGridItem* pItem = (CXTPPropertyGridItem*)lParam;
  86. //              TRACE(_T("Selection Changed. Item = %sn"), pItem->GetCaption());
  87. //           }
  88. //     case XTP_PGN_INPLACEBUTTONDOWN:
  89. //           {
  90. //              CXTPPropertyGridInplaceButton* pButton = (CXTPPropertyGridInplaceButton*)lParam;
  91. //           }
  92. //         break;
  93. // }
  94. // return FALSE;
  95. // </code>
  96. //-----------------------------------------------------------------------
  97. const UINT XTPWM_PROPERTYGRID_NOTIFY = (WM_USER + 9950 + 1);
  98. const UINT XTP_PGN_SORTORDER_CHANGED = 1;  //<ALIAS XTPWM_PROPERTYGRID_NOTIFY>
  99. const UINT XTP_PGN_SELECTION_CHANGED = 2;  //<ALIAS XTPWM_PROPERTYGRID_NOTIFY>
  100. const UINT XTP_PGN_ITEMVALUE_CHANGED = 3;  //<ALIAS XTPWM_PROPERTYGRID_NOTIFY>
  101. const UINT XTP_PGN_EDIT_CHANGED = 4;       //<ALIAS XTPWM_PROPERTYGRID_NOTIFY>
  102. const UINT XTP_PGN_INPLACEBUTTONDOWN = 5;  //<ALIAS XTPWM_PROPERTYGRID_NOTIFY>
  103. const UINT XTP_PGN_DRAWITEM = 6;           //<ALIAS XTPWM_PROPERTYGRID_NOTIFY>
  104. const UINT XTP_PGN_ITEMEXPANDCHANGED = 7;  //<ALIAS XTPWM_PROPERTYGRID_NOTIFY>
  105. const UINT XTP_PGN_DBLCLICK = 8;           //<ALIAS XTPWM_PROPERTYGRID_NOTIFY>
  106. const UINT XTP_PGN_RCLICK = 9;             //<ALIAS XTPWM_PROPERTYGRID_NOTIFY>
  107. const UINT XTP_PGN_VERB_CLICK = 10;        //<ALIAS XTPWM_PROPERTYGRID_NOTIFY>
  108. const UINT XTP_PGN_REQUESTEDIT = 11;       //<ALIAS XTPWM_PROPERTYGRID_NOTIFY>
  109. const UINT XTP_PGN_AFTEREDIT = 12;         //<ALIAS XTPWM_PROPERTYGRID_NOTIFY>
  110. const UINT XTP_PGN_CANCELEDIT = 13;        //<ALIAS XTPWM_PROPERTYGRID_NOTIFY>
  111. const UINT XTP_PGN_USER = 14;              //<ALIAS XTPWM_PROPERTYGRID_NOTIFY>
  112. //===========================================================================
  113. // Summary:
  114. //     This struct passed with XTP_PGN_REQUESTEDIT, XTP_PGN_AFTEREDIT, XTP_PGN_CANCELEDIT notifications to
  115. //     determine item and its new value
  116. // See Also: XTP_PGN_REQUESTEDIT
  117. //===========================================================================
  118. struct XTP_PROPERTYGRID_NOTIFYEDIT
  119. {
  120. BOOL bCancel;                   // TRUE to cancel user edit
  121. CString strValue;               // New caption value to be set
  122. CXTPPropertyGridItem* pItem;    // Item to be edit
  123. };
  124. //-----------------------------------------------------------------------
  125. // Summary:
  126. //     Apply this style to the property grid to use the owner draw feature.
  127. // See Also:
  128. //     CXTPPropertyGrid::Create
  129. // Example:
  130. //     The following example illustrates using XTP_PGS_OWNERDRAW:
  131. // <code>
  132. // m_wndPropertyGrid.ModifyStyle(0, XTP_PGS_OWNERDRAW);
  133. // </code>
  134. //-----------------------------------------------------------------------
  135. const UINT XTP_PGS_OWNERDRAW = 0x0010L;
  136. //-----------------------------------------------------------------------
  137. // Summary:
  138. //     NULL terminated string used by CXTPPropertyGrid which specifies
  139. //     the window class name for the property grid.
  140. // Example:
  141. // <code>
  142. // BOOL CXTPPropertyGrid::RegisterWindowClass()
  143. // {
  144. //     WNDCLASS wndcls;
  145. //     HINSTANCE hInst = AfxGetInstanceHandle();
  146. //
  147. //     if (!(::GetClassInfo(hInst, XTPREPORTCTRL_CLASSNAME, &wndcls)))
  148. //     {
  149. //         // otherwise we need to register a new class
  150. //         wndcls.style            = CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW;
  151. //         wndcls.lpfnWndProc      = ::DefWindowProc;
  152. //         wndcls.cbClsExtra       = wndcls.cbWndExtra = 0;
  153. //         wndcls.hInstance        = hInst;
  154. //         wndcls.hIcon            = NULL;
  155. //         wndcls.hCursor          = AfxGetApp()->LoadStandardCursor(IDC_ARROW);
  156. //         wndcls.hbrBackground    = (HBRUSH) (COLOR_3DFACE + 1);
  157. //         wndcls.lpszMenuName     = NULL;
  158. //         wndcls.lpszClassName    = XTPREPORTCTRL_CLASSNAME;
  159. //
  160. //         if (!AfxRegisterClass(&wndcls))
  161. //         {
  162. //             AfxThrowResourceException();
  163. //             return FALSE;
  164. //         }
  165. //     }
  166. //
  167. //     return TRUE;
  168. // }
  169. // </code>
  170. // See Also:
  171. //     CXTPPropertyGrid::RegisterWindowClass
  172. //-----------------------------------------------------------------------
  173. const TCHAR XTPPROPERTYGRID_CLASSNAME[] = _T("XTPPropertyGrid");
  174. #endif //#define __XTPPROPERTYGRIDDEFINES_H__