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

对话框与窗口

开发平台:

Visual C++

  1. // XTPTaskPanelDefines.h
  2. //
  3. // This file is a part of the XTREME TASKPANEL 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(__XTPTASKPANELDEFINES_H__)
  22. #define __XTPTASKPANELDEFINES_H__
  23. //}}AFX_CODEJOCK_PRIVATE
  24. #if _MSC_VER > 1000
  25. #pragma once
  26. #endif // _MSC_VER > 1000
  27. class CXTPTaskPanelGroup;
  28. class CXTPTaskPanelItem;
  29. //-----------------------------------------------------------------------
  30. // Summary:
  31. //     This structure passed as parameter when XTP_TPN_GROUPEXPANDING event occur.
  32. //-----------------------------------------------------------------------
  33. struct XTP_TPNGROUPEXPANDING
  34. {
  35. CXTPTaskPanelGroup* pGroup; // Group that is about to be expanded.
  36. BOOL bExpanding;            // TRUE if group must be expanded.
  37. };
  38. //-----------------------------------------------------------------------
  39. // Summary:
  40. //     This structure passed as parameter when XTP_TPN_ENDLABELEDIT event occur.
  41. //-----------------------------------------------------------------------
  42. struct XTP_TPNENDLABELEDIT
  43. {
  44. CXTPTaskPanelItem* pItem;   // Item that caption is will be changed
  45. CString strNewString;       // New Caption of the item
  46. };
  47. //-----------------------------------------------------------------------
  48. // Summary:
  49. //     XTPTaskPanelItemType is an enumeration used by CXTPTaskPanelItem to
  50. //     specify the type of the item.
  51. // Example:
  52. // <code>
  53. // CXTPTaskPanelGroup* pGroupSystem = m_wndTaskPanel.AddGroup(ID_TASKGROUP_SYSTEM);
  54. // pGroupSystem->AddLinkItem(ID_TASKITEM_HIDECONTENTS, 0);
  55. // ASSERT(pGroupSystem->GetType() == xtpTaskItemTypeLink);
  56. // </code>
  57. // See Also: CXTPTaskPanelItem::SetType, CXTPTaskPanelItem::GetType
  58. //
  59. // <KEYWORDS xtpTaskItemTypeGroup, xtpTaskItemTypeLink, xtpTaskItemTypeText, xtpTaskItemTypeControl>
  60. //-----------------------------------------------------------------------
  61. enum XTPTaskPanelItemType
  62. {
  63. xtpTaskItemTypeGroup,       // Item is group.
  64. xtpTaskItemTypeLink,        // Item is link.
  65. xtpTaskItemTypeText,        // Item is text.
  66. xtpTaskItemTypeControl      // Item is control.
  67. };
  68. //-----------------------------------------------------------------------
  69. // Summary:
  70. //     XTPTaskPanelItemAllowDrag is an enumeration used by CXTPTaskPanel to
  71. //     specify the drag options
  72. // Example:
  73. // <code>
  74. // m_wndTaskPanel.AllowDrag(xtpTaskItemAllowDragCopyWithinGroup);
  75. // </code>
  76. // See Also: CXTPTaskPanel::AllowDrag
  77. //
  78. // <KEYWORDS xtpTaskItemAllowDragNone, xtpTaskItemAllowDragDefault, xtpTaskItemAllowDragCopy, xtpTaskItemAllowDragMove, xtpTaskItemAllowDragAll>
  79. //-----------------------------------------------------------------------
  80. enum XTPTaskPanelItemAllowDrag
  81. {
  82. xtpTaskItemAllowDragNone                 = 0x00,            // Disable drag
  83. xtpTaskItemAllowDragDefault              = 0x01,            // Default drag options (xtpTaskItemAllowDragAll)
  84. xtpTaskItemAllowDragCopyWithinGroup      = 0x02,            // Allow copy within group only
  85. xtpTaskItemAllowDragCopyWithinControl    = 0x04,            // Allow copy within task panel only
  86. xtpTaskItemAllowDragCopyOutsideControl   = 0x08,            // Allow copy outside task panel only
  87. xtpTaskItemAllowDragCopy                 = 0x04 + 0x08,     // Allow copy operation
  88. xtpTaskItemAllowDragMoveWithinGroup      = 0x20,            // Allow move within group only
  89. xtpTaskItemAllowDragMoveWithinControl    = 0x40,            // Allow move within task panel only
  90. xtpTaskItemAllowDragMoveOutsideControl   = 0x80,            // Allow move outside task panel only
  91. xtpTaskItemAllowDragMove                 = 0x40 + 0x80,     // Allow move operation
  92. xtpTaskItemAllowDragWithinGroup          = 0x02 + 0x20,     // Allow drag within group only
  93. xtpTaskItemAllowDragWithinControl        = 0x04 + 0x40,     // Allow drag within task panel only
  94. xtpTaskItemAllowDrag                     = 0x04 + 0x08 + 0x40 + 0x80    // Allow all drag operations
  95. };
  96. //-----------------------------------------------------------------------
  97. // Summary:
  98. //     XTPTaskPanelItemLayout is an enumeration used by CXTPTaskpanel and
  99. //     CXTPTaskPanelGroup to set how the items are laid out in the group(s).
  100. //     Each group can have a different layout or they can all be the same.
  101. // Example:
  102. //     <code>pGroup->SetItemLayout(xtpTaskItemLayoutImagesWithText);</code>
  103. // See Also:
  104. //     CXTPTaskPanel::SetItemLayout, CXTPTaskPanel::GetItemLayout,
  105. //     CXTPTaskPanelGroup::SetItemLayout, CXTPTaskPanelGroup::GetItemLayout
  106. //
  107. // <KEYWORDS xtpTaskItemLayoutDefault, xtpTaskItemLayoutImages, xtpTaskItemLayoutImagesWithText, xtpTaskItemLayoutImagesWithTextBelow>
  108. //-----------------------------------------------------------------------
  109. enum XTPTaskPanelItemLayout
  110. {
  111. xtpTaskItemLayoutDefault,           // Default Layout.
  112. xtpTaskItemLayoutImages,            // Only images are shown.
  113. xtpTaskItemLayoutImagesWithText,    // Both images and text are shown.
  114. xtpTaskItemLayoutImagesWithTextBelow// Images with the text shown below the image.
  115. };
  116. //-----------------------------------------------------------------------
  117. // Summary:
  118. //     XTPTaskPanelHotTrackStyle is an enumeration used by CXTPTaskPanel
  119. //     to set the hot tracking style used for CXTPTaskPanelItems.  Hot tracking is
  120. //     how the items look as you move the mouse pointer over them.
  121. // Example:
  122. //     <code>m_wndTaskPanel.SetHotTrackStyle(xtpTaskPanelHighlightItem);</code>
  123. // See Also:
  124. //     CXTPTaskPanel::SetHotTrackStyle, CXTPTaskPanel::GetHotTrackStyle, CXTPTaskPanelItem::IsItemHot
  125. //
  126. // <KEYWORDS xtpTaskPanelHighlightDefault, xtpTaskPanelHighlightText, xtpTaskPanelHighlightImage, xtpTaskPanelHighlightItem, xtpTaskPanelHighlightNone>
  127. //-----------------------------------------------------------------------
  128. enum XTPTaskPanelHotTrackStyle
  129. {
  130. xtpTaskPanelHighlightDefault,       // Uses the default hot tracking style.
  131. xtpTaskPanelHighlightText,          // Only text is highlighted on mouse over
  132. xtpTaskPanelHighlightImage,         // Only Images are highlighted on mouse over.
  133. xtpTaskPanelHighlightItem,          // The entire item is highlighted on mouse over.
  134. xtpTaskPanelHighlightNone           // No hot tracking is used, nothing will happen on mouse over.
  135. };
  136. //-----------------------------------------------------------------------
  137. // Summary:
  138. //     XTPTaskPanelBehaviour is an enumeration used by CXTPTaskPanel and
  139. //     CXTPTaskPanelGroup to set the behavior of the groups in the TaskPanel.
  140. // Example:
  141. //     <code>m_wndTaskPanel.SetBehaviour(xtpTaskPanelBehaviourToolbox);</code>
  142. // See Also:
  143. //     CXTPTaskPanel::SetBehaviour, CXTPTaskPanelGroup::GetBehaviour.
  144. //
  145. // <KEYWORDS xtpTaskPanelBehaviourExplorer, xtpTaskPanelBehaviourList, xtpTaskPanelBehaviourToolbox>
  146. //-----------------------------------------------------------------------
  147. enum XTPTaskPanelBehaviour
  148. {
  149. xtpTaskPanelBehaviourExplorer,      // TaskPanel will behave like Windows Explorer.
  150. xtpTaskPanelBehaviourList,          // TaskPanel will behave like Windows List Box.
  151. xtpTaskPanelBehaviourToolbox        // TaskPanel will behave like VS. NET Toolbox.
  152. };
  153. //-----------------------------------------------------------------------
  154. // Summary:
  155. //     XTPTaskPanelPaintTheme is an enumeration used by CXTPTaskPanel to set
  156. //     the theme of the control.
  157. // Example:
  158. //     <code>m_wndTaskPanel.SetTheme(xtpTaskPanelThemeOffice2000Plain);</code>
  159. // See Also:
  160. //     CXTPTaskPanel::SetTheme, CXTPTaskPanel::GetCurrentTheme
  161. //
  162. // <KEYWORDS xtpTaskPanelThemeOffice2000, xtpTaskPanelThemeOffice2003, xtpTaskPanelThemeNativeWinXP, xtpTaskPanelThemeOffice2000Plain, xtpTaskPanelThemeOfficeXPPlain, xtpTaskPanelThemeOffice2003Plain, xtpTaskPanelThemeNativeWinXPPlain, xtpTaskPanelThemeToolbox, xtpTaskPanelThemeToolboxWhidbey, xtpTaskPanelThemeListView, xtpTaskPanelThemeListViewOfficeXP, xtpTaskPanelThemeListViewOffice2003, xtpTaskPanelThemeShortcutBarOffice2003, xtpTaskPanelThemeCustom>
  163. //-----------------------------------------------------------------------
  164. enum XTPTaskPanelPaintTheme
  165. {
  166. xtpTaskPanelThemeOffice2000,            // Office 2000 theme
  167. xtpTaskPanelThemeOffice2003,            // Office 2003 theme
  168. xtpTaskPanelThemeNativeWinXP,           // Win XP theme
  169. xtpTaskPanelThemeOffice2000Plain,       // Office 2000 classic theme
  170. xtpTaskPanelThemeOfficeXPPlain,         // Office XP classic theme
  171. xtpTaskPanelThemeOffice2003Plain,       // Office 2003 classic theme
  172. xtpTaskPanelThemeNativeWinXPPlain,      // Win XP classic theme
  173. xtpTaskPanelThemeToolbox,               // VS.NET style Toolbox theme.
  174. xtpTaskPanelThemeToolboxWhidbey,        // Whidbey VS 2005 style Toolbox theme.
  175. xtpTaskPanelThemeListView,              // Standard List View theme.
  176. xtpTaskPanelThemeListViewOfficeXP,      // Office XP List View theme.
  177. xtpTaskPanelThemeListViewOffice2003,    // Office 2003 List View theme.
  178. xtpTaskPanelThemeShortcutBarOffice2003, // ShortcutBar Office 2003 theme.
  179. xtpTaskPanelThemeShortcutBarOffice2007, // ShortcutBar Office 2007 theme.
  180. xtpTaskPanelThemeCustom                 // User defined Custom theme is used.
  181. };
  182. //-----------------------------------------------------------------------
  183. // Summary:
  184. //     XTPTaskPanelAnimation is an enumeration used by CXTPTaskPanel to set
  185. //     the animation of the control.
  186. // Example:
  187. //     <code>m_wndTaskPanel.SetAnimation(xtpTaskPanelAnimationYes);</code>
  188. // See Also: CXTPTaskPanel::SetAnimation, CXTPTaskPanel::GetAnimation
  189. //
  190. // <KEYWORDS xtpTaskPanelAnimationYes, xtpTaskPanelAnimationNo, xtpTaskPanelAnimationSystem>
  191. //-----------------------------------------------------------------------
  192. enum XTPTaskPanelAnimation
  193. {
  194. xtpTaskPanelAnimationYes,               // Enable animation
  195. xtpTaskPanelAnimationNo,                // Disable animation
  196. xtpTaskPanelAnimationSystem             // Use system settings to determine animation
  197. };
  198. //-----------------------------------------------------------------------
  199. // Summary:
  200. //     The XTPWM_TASKPANEL_NOTIFY message is sent to the CXTPTaskPanel owner window
  201. //     whenever an action occurs within the CXTPTaskPanel
  202. // Parameters:
  203. //     nAction -  Value of wParam specifies a TaskPanel value that indicates the user's
  204. //                request.
  205. //     pItem   -  The value of lParam points to an CXTPTaskPanelItem object that contains information for the
  206. //                specified item. This pointer should <b>never</b> be NULL.
  207. // Remarks:
  208. //     <code>XTPWM_SHORTCUTBAR_NOTIFY
  209. //     nAction = (int) wParam;             // TaskPanel action
  210. //     pItem = (CXTPTaskPanelItem*) lParam;  // pointer to an CXTPTaskPanelItem object</code>
  211. //     <p/>
  212. //
  213. //     nAction parameter can be one of the following values:
  214. //     * <b>XTP_TPN_CLICK</b> Indicates the user click TaskPanel item.
  215. //     * <b>XTP_TPN_RCLICK</b> Indicates the user presses the right mouse button on the TaskPanel item.
  216. //     * <b>XTP_TPN_STARTDRAG</b> Indicates the user start dragging item.
  217. //     * <b>XTP_TPN_ENDLABELEDIT</b> Indicates the user apply item rename.
  218. //     * <b>XTP_TPN_ITEMDROP</b> Indicates the user dropped item to task panel
  219. //     * <b>XTP_TPN_GROUPEXPANDING</b> Indicates the group is about to be expanded.
  220. //                                       lParam contains XTP_TPNGROUPEXPANDING pointer.
  221. //                                       You can return XTP_ACTION_CANCEL to ignore expanding.
  222. //     * <b>XTP_TPN_GROUPEXPANDED</b> Indicates the user expand group.
  223. //     * <b>XTP_TPN_DBLCLICK</b> Indicates the user double-clicks TaskPanel item.
  224. //     * <b>XTP_TPN_FOCUSEDITEMCHANGED</b> Focused item of control changed.
  225. // Returns:
  226. //     If the application is to process this message, the return value should be TRUE, otherwise the
  227. //     return value is FALSE.
  228. // Example:
  229. // <code>
  230. // BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
  231. //     //{{AFX_MSG_MAP(CMainFrame)
  232. //     ON_MESSAGE(XTPWM_TASKPANEL_NOTIFY, OnTaskPanelNotify)
  233. //     //}}AFX_MSG_MAP
  234. // END_MESSAGE_MAP()
  235. //
  236. // LRESULT CMainFrame::OnTaskPanelNotify(WPARAM wParam, LPARAM lParam)
  237. // {
  238. //      switch (wParam)
  239. //      {
  240. //          case XTP_TPN_CLICK:
  241. //              {
  242. //                  CXTPTaskPanelGroupItem* pItem = (CXTPTaskPanelGroupItem*)lParam;
  243. //                  TRACE(_T("Click Event: pItem.Caption = %s, pItem.ID = %in"), pItem->GetCaption(), pItem->GetID());
  244. //
  245. //                  if (IsToggleButtons())
  246. //                  {
  247. //                      pItem->SetItemSelected(!pItem->IsItemSelected());
  248. //                  }
  249. //              }
  250. //              break;
  251. //
  252. //          case XTP_TPN_RCLICK:
  253. //
  254. //              OnTaskPanelRButtonDown((CXTPTaskPanelItem*)lParam);
  255. //              return TRUE;
  256. //
  257. //      }
  258. //      return 0;
  259. // }
  260. // </code>
  261. // See Also:
  262. //     CXTPTaskPanel::NotifyOwner
  263. //-----------------------------------------------------------------------
  264. const UINT XTPWM_TASKPANEL_NOTIFY = (WM_USER + 9195 + 1);
  265. const UINT XTP_TPN_CLICK = 1; //<ALIAS XTPWM_TASKPANEL_NOTIFY>
  266. const UINT XTP_TPN_RCLICK = 2; //<ALIAS XTPWM_TASKPANEL_NOTIFY>
  267. const UINT XTP_TPN_STARTDRAG = 3; //<ALIAS XTPWM_TASKPANEL_NOTIFY>
  268. const UINT XTP_TPN_ENDLABELEDIT = 4; //<ALIAS XTPWM_TASKPANEL_NOTIFY>
  269. const UINT XTP_TPN_ITEMDROP = 5; //<ALIAS XTPWM_TASKPANEL_NOTIFY>
  270. const UINT XTP_TPN_GROUPEXPANDING = 6; //<ALIAS XTPWM_TASKPANEL_NOTIFY>
  271. const UINT XTP_TPN_GROUPEXPANDED = 7; //<ALIAS XTPWM_TASKPANEL_NOTIFY>
  272. const UINT XTP_TPN_DBLCLICK = 8; //<ALIAS XTPWM_TASKPANEL_NOTIFY>
  273. const UINT XTP_TPN_FOCUSEDITEMCHANGED = 9; //<ALIAS XTPWM_TASKPANEL_NOTIFY>
  274. const UINT XTP_TPN_ITEMREMOVED = 10; //<ALIAS XTPWM_TASKPANEL_NOTIFY>
  275. const UINT XTP_TPN_HOTITEMCHANGED = 11; //<ALIAS XTPWM_TASKPANEL_NOTIFY>
  276. const int XTP_ACTION_CANCEL = -1; //<ALIAS XTPWM_TASKPANEL_NOTIFY>
  277. #endif // !defined(__XTPTASKPANELDEFINES_H__)