You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1209 lines
48 KiB
C++
1209 lines
48 KiB
C++
// XTPShortcutBar.h interface for the CXTPShortcutBar class.
|
|
//
|
|
// This file is a part of the XTREME SHORTCUTBAR MFC class library.
|
|
// (c)1998-2012 Codejock Software, All Rights Reserved.
|
|
//
|
|
// THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
|
|
// RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
|
|
// CONSENT OF CODEJOCK SOFTWARE.
|
|
//
|
|
// THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
|
|
// IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
|
|
// YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
|
|
// SINGLE COMPUTER.
|
|
//
|
|
// CONTACT INFORMATION:
|
|
// support@codejock.com
|
|
// http://www.codejock.com
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
#if !defined(__XTPSHORTCUTBAR_H__)
|
|
#define __XTPSHORTCUTBAR_H__
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
class CXTPShortcutBarAnimation;
|
|
class CXTPShortcutBarPopup;
|
|
class CXTPImageManagerIcon;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// XTP_SBN_SELECTION_CHANGED is used to indicate that the selection
|
|
// has changed in the shortcut bar.
|
|
// Remarks:
|
|
// XTP_SBN_SELECTION_CHANGED is sent in the XTPWM_SHORTCUTBAR_NOTIFY
|
|
// message to the owner window when the selection has changed.
|
|
//
|
|
// The selection changed when a user clicks on a shortcut bar item or
|
|
// the items are navigated with the arrow keys.
|
|
// Example:
|
|
// See example of XTPWM_SHORTCUTBAR_NOTIFY
|
|
// See Also:
|
|
// XTPWM_SHORTCUTBAR_NOTIFY, XTP_SBN_RCLICK
|
|
//-----------------------------------------------------------------------
|
|
const UINT XTP_SBN_SELECTION_CHANGING = 1;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// XTP_SBN_SELECTION_CHANGING is used to indicate that value for the selection
|
|
// is currently changing.
|
|
// Remarks:
|
|
// XTP_SBN_SELECTION_CHANGING is sent in the XTPWM_SHORTCUTBAR_NOTIFY
|
|
// message to the owner window when the selection is in the process of changing.
|
|
//
|
|
// The selection changed when a user clicks on a shortcut bar item or
|
|
// the items are navigated with the arrow keys.
|
|
// See Also:
|
|
// XTPWM_SHORTCUTBAR_NOTIFY, XTP_SBN_RCLICK
|
|
//-----------------------------------------------------------------------
|
|
const UINT XTP_SBN_SELECTION_CHANGED = 3;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// XTP_SBN_RCLICK is used to indicate that the user has pressed the
|
|
// right mouse button on a shortcut bar item.
|
|
// Remarks:
|
|
// XTP_SBN_RCLICK is sent in the XTPWM_SHORTCUTBAR_NOTIFY message to the
|
|
// owner window when the user has right clicked on a shortcut bar item.
|
|
// Example:
|
|
// See example of XTPWM_SHORTCUTBAR_NOTIFY
|
|
// See Also:
|
|
// XTPWM_SHORTCUTBAR_NOTIFY, XTP_SBN_SELECTION_CHANGING
|
|
//-----------------------------------------------------------------------
|
|
const UINT XTP_SBN_RCLICK = 2;
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// XTP_SBN_MINIMIZEBUTTONCLICKED is used to indicate that the user has pressed the
|
|
// minimize button inside Pane caption
|
|
// Remarks:
|
|
// XTP_SBN_MINIMIZEBUTTONCLICKED is sent in the XTPWM_SHORTCUTBAR_NOTIFY message to the
|
|
// owner window when the user has clicked minimize button
|
|
// Example:
|
|
// See example of XTPWM_SHORTCUTBAR_NOTIFY
|
|
// See Also:
|
|
// XTPWM_SHORTCUTBAR_NOTIFY, XTP_SBN_SELECTION_CHANGING, CXTPShortcutBar::ShowMinimizeButton
|
|
//-----------------------------------------------------------------------
|
|
const UINT XTP_SBN_MINIMIZEBUTTONCLICKED = 4;
|
|
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// The XTPWM_SHORTCUTBAR_NOTIFY message is sent to the CXTPShortcutBar owner window
|
|
// whenever an action occurs within the CXTPShortcutBar
|
|
// Parameters:
|
|
// nAction - Value of wParam specifies a ShortcutBar value that indicates the user's
|
|
// request.
|
|
// pItem - The value of lParam points to an CXTPShortcutBarItem object that contains information for the
|
|
// specified item. This pointer should <b>never</b> be NULL.
|
|
// Remarks:
|
|
// nAction parameter can be one of the following values:
|
|
// * <b>XTP_SBN_SELECTION_CHANGING</b> Indicates the selection has changed in the shortcut bar.
|
|
// * <b>XTP_SBN_RCLICK</b> Indicates the user pressed the right mouse button on the shortcut bar item.
|
|
//
|
|
// Returns:
|
|
// If the application is to process this message, the return value should be TRUE, otherwise the
|
|
// return value is FALSE.
|
|
// Example:
|
|
// Here is an example of how an application would process the XTPWM_SHORTCUTBAR_NOTIFY
|
|
// message.
|
|
// <code>
|
|
//
|
|
// BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
|
|
// //{{AFX_MSG_MAP(CMainFrame)
|
|
// ON_MESSAGE(XTPWM_SHORTCUTBAR_NOTIFY, OnShortcutBarNotify)
|
|
// //}}AFX_MSG_MAP
|
|
// END_MESSAGE_MAP()
|
|
//
|
|
// LRESULT CMainFrame::OnShortcutBarNotify(WPARAM wParam, LPARAM lParam)
|
|
// {
|
|
// switch (wParam)
|
|
// {
|
|
// case XTP_SBN_SELECTION_CHANGING:
|
|
// {
|
|
// CXTPShortcutBarItem* pItem = (CXTPShortcutBarItem*)lParam;
|
|
// TRACE(_T("Selection Changing. Item.Caption = %s\n"), pItem->GetCaption());
|
|
//
|
|
// // TODO: You can return -1 to ignore changing
|
|
//
|
|
// }
|
|
// return TRUE;
|
|
// case XTP_SBN_RCLICK:
|
|
// {
|
|
// CPoint point(lParam);
|
|
// CXTPShortcutBarItem* pItem = m_wndShortcutBar.HitTest(point);
|
|
// if (pItem)
|
|
// {
|
|
// TRACE(_T("RClick. Item.ID = %i\n"), pItem->GetID());
|
|
//
|
|
// CMenu mnu;
|
|
// mnu.LoadMenu(IDR_POPUP_MENU);
|
|
//
|
|
// m_wndShortcutBar.ClientToScreen(&point);
|
|
//
|
|
// CXTPCommandBars::TrackPopupMenu(mnu.GetSubMenu(0), 0, point.x, point.y, AfxGetMainWnd());
|
|
//
|
|
// }
|
|
// }
|
|
// return TRUE;
|
|
//
|
|
//
|
|
// }
|
|
// return 0;
|
|
// }
|
|
// </code>
|
|
// See Also:
|
|
// XTP_SBN_SELECTION_CHANGING, XTP_SBN_RCLICK, CXTPShortcutBar
|
|
//-----------------------------------------------------------------------
|
|
const UINT XTPWM_SHORTCUTBAR_NOTIFY = (WM_USER + 9190 + 1);
|
|
|
|
|
|
class CXTPShortcutBar;
|
|
class CXTPImageManager;
|
|
class CXTPToolTipContext;
|
|
|
|
//===========================================================================
|
|
// Summary:
|
|
// CXTPShortcutBarItem is the base class representing an item of the
|
|
// ShortcutBar Control.
|
|
//===========================================================================
|
|
class _XTP_EXT_CLASS CXTPShortcutBarItem : public CXTPCmdTarget
|
|
{
|
|
protected:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Constructs a CXTPShortcutBarItem object.
|
|
// Parameters:
|
|
// pShortcutBar - Points to the parent ShortcutBar class.
|
|
// nID - Identifier of the item.
|
|
// pWnd - Client window of the item
|
|
// pShortcutBar - Points to the parent ShortcutBar class.
|
|
//-----------------------------------------------------------------------
|
|
CXTPShortcutBarItem(CXTPShortcutBar* pShortcutBar, int nID, CWnd* pWnd); // <combine CXTPShortcutBarItem::CXTPShortcutBarItem@CXTPShortcutBar*>
|
|
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to set the identifier of the item.
|
|
// Parameters:
|
|
// nID - The new identifier of the item.
|
|
//-----------------------------------------------------------------------
|
|
void SetID(int nID);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to get the identifier of the item.
|
|
// Returns:
|
|
// Identifier of the item.
|
|
//-----------------------------------------------------------------------
|
|
int GetID() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member to set the icon's identifier.
|
|
// Parameters:
|
|
// nId - Icon's identifier to be set.
|
|
//-----------------------------------------------------------------------
|
|
void SetIconId(int nId);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member to get the icon's identifier.
|
|
// Returns:
|
|
// An icon's identifier of the item.
|
|
//-----------------------------------------------------------------------
|
|
int GetIconId() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to set the caption of the item.
|
|
// Parameters:
|
|
// strCaption - The new caption of the item.
|
|
//-----------------------------------------------------------------------
|
|
void SetCaption(LPCTSTR strCaption);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to get the caption of the item.
|
|
// Returns:
|
|
// A CString object containing the caption of the item.
|
|
//-----------------------------------------------------------------------
|
|
CString GetCaption() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to set the visibility state of the item.
|
|
// Parameters:
|
|
// bVisible - TRUE if the item is visible; otherwise FALSE.
|
|
//-----------------------------------------------------------------------
|
|
void SetVisible(BOOL bVisible);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to determine if the item is visible.
|
|
// Returns:
|
|
// TRUE if the item is visible; otherwise FALSE.
|
|
//-----------------------------------------------------------------------
|
|
BOOL IsVisible() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Associates ToolTip text with the item.
|
|
// Parameters:
|
|
// strTooltip - The ToolTip text to display when the mouse cursor is over the item.
|
|
//-----------------------------------------------------------------------
|
|
void SetTooltip(LPCTSTR strTooltip);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Retrieves the ToolTip text associated with the item.
|
|
// Returns:
|
|
// The ToolTip text for the item.
|
|
//-----------------------------------------------------------------------
|
|
CString GetTooltip() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to determine if the item is expanded.
|
|
// Returns:
|
|
// TRUE if the item is expanded; otherwise FALSE.
|
|
//-----------------------------------------------------------------------
|
|
BOOL IsExpanded() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to determine if the item is expand button.
|
|
// Returns:
|
|
// TRUE if the item is expand button; otherwise FALSE.
|
|
//-----------------------------------------------------------------------
|
|
BOOL IsItemExpandButton() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to get the parent ShortcutBar class.
|
|
// Returns:
|
|
// A Pointer to the parent CXTPShortcutBar class.
|
|
//-----------------------------------------------------------------------
|
|
CXTPShortcutBar* GetShortcutBar() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method retrieves the dimensions of the rectangle that bounds the item.
|
|
// Returns:
|
|
// CRect object contains the bounding rectangle of the item.
|
|
//-----------------------------------------------------------------------
|
|
CRect GetItemRect() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method sets the 32-bit value associated with the item.
|
|
// Parameters:
|
|
// dwData - Contains the new value to associate with the item.
|
|
//-----------------------------------------------------------------------
|
|
void SetItemData(DWORD_PTR dwData);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method retrieves the application-supplied 32-bit value associated with the item
|
|
// Returns:
|
|
// The 32-bit value associated with the item
|
|
//-----------------------------------------------------------------------
|
|
DWORD_PTR GetItemData() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to retrieve the image of this shortcut bar item.
|
|
// Parameters:
|
|
// nWidth - Width of the icon to be retrieved. (CXTPImageManagerIcon
|
|
// can have multiple image sizes for the same item, the
|
|
// shortcut bar uses both 16x16 and 24x24 images depending on
|
|
// if the item is displayed in the extended shortcut list).
|
|
// If a 16x16 icon is to be retrieved, then pass in 16 for
|
|
// the width.
|
|
// Returns:
|
|
// A pointer the CXTPImageManagerIcon object for this shortcut bar
|
|
// item.
|
|
//-----------------------------------------------------------------------
|
|
CXTPImageManagerIcon* GetImage(int nWidth) const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member function to determine is the ShortcutBarItem is hidden.
|
|
// An item is hidden when there are more items then can be displayed
|
|
// in the bottom shortcut bar. As the shortcut bar is expanded, items
|
|
// that were hidden will become visible as more items are added to the
|
|
// expanded shortcut bar.
|
|
// Returns:
|
|
// TRUE is the ShortcutBarItem is hidden, otherwise FALSE
|
|
//-----------------------------------------------------------------------
|
|
BOOL IsHidden() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member to determine if the item is currently selected.
|
|
// Note that multiple items can be selected at one time, but only one
|
|
// can have focus.
|
|
// Returns:
|
|
// TRUE if the item is currently selected.
|
|
//-----------------------------------------------------------------------
|
|
BOOL IsSelected() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member to select this item. Multiple items can have
|
|
// focus if CXTPShortcutBar::m_bSingleSelection is FALSE.
|
|
// Parameters:
|
|
// bSelected - TRUE if the item will be selected, FALSE to no longer
|
|
// select the item.
|
|
//-----------------------------------------------------------------------
|
|
void SetSelected(BOOL bSelected);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member to get child window of the item.
|
|
// Returns:
|
|
// CWnd pointer to child window
|
|
//-----------------------------------------------------------------------
|
|
CWnd* GetClientWindow() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member to set child window that will be visible
|
|
// in client part of the shortcutbar when item is selected.
|
|
// Parameters:
|
|
// pWnd - New child window to be set.
|
|
//-----------------------------------------------------------------------
|
|
void SetClientWindow(CWnd* pWnd);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Determines if item is enabled and clickable by user
|
|
// Returns:
|
|
// TRUE if items is neabled
|
|
//-----------------------------------------------------------------------
|
|
BOOL IsEnabled() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to enable/disable individual item of shortuct bar.
|
|
// Parameters:
|
|
// bEnabled - TRUE to enable item
|
|
//-----------------------------------------------------------------------
|
|
void SetEnabled(BOOL bEnabled);
|
|
|
|
protected:
|
|
CString m_strCaption; // Caption for the item.
|
|
CString m_strTooltip; // Tooltip for the item.
|
|
int m_nID; // Item's identifier.
|
|
CRect m_rcItem; // Bounding rectangle of the item
|
|
BOOL m_bVisible; // TRUE if the item is visible
|
|
BOOL m_bExpanded; // TRUE if the item is expanded
|
|
BOOL m_bHidden; // TRUE if the item is hidden
|
|
HWND m_hwndChild; // Child window associated with the item
|
|
BOOL m_bExpandButton; // True if the item is expand button
|
|
BOOL m_bNavigateButton; // True if the item is navigate button
|
|
DWORD_PTR m_dwData; // The 32-bit value associated with the item
|
|
CXTPShortcutBar* m_pShortcutBar; // Parent CXTPShortcutBar class
|
|
BOOL m_bSelected; // TRUE if item selected
|
|
int m_nIconId; // Identifier of the item's image.
|
|
BOOL m_bEnabled; // RUE if the item is Enabled
|
|
|
|
private:
|
|
|
|
friend class CXTPShortcutBar;
|
|
};
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// CXTPShortcutBar is a CWnd derived class. It is used to implement
|
|
// an Outlook2003 ShortcutBar style control.
|
|
//-----------------------------------------------------------------------
|
|
class _XTP_EXT_CLASS CXTPShortcutBar : public CWnd
|
|
{
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Array of CXTPShortcutBarItem objects
|
|
//-----------------------------------------------------------------------
|
|
typedef CArray<CXTPShortcutBarItem*, CXTPShortcutBarItem*> CShortcutArray;
|
|
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Constructs a CXTPShortcutBar object.
|
|
//-----------------------------------------------------------------------
|
|
CXTPShortcutBar();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Destroys a CXTPShortcutBar object, handles cleanup and deallocation.
|
|
//-----------------------------------------------------------------------
|
|
virtual ~CXTPShortcutBar();
|
|
|
|
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method creates the ShortcutBar control
|
|
// Parameters:
|
|
// dwStyle - Style for the ShortcutBar.
|
|
// rect - Specifies the size and position of the ShortcutBar control.
|
|
// pParentWnd - Specifies the parent window of the ShortcutBar control.
|
|
// nID - Specifies the ShortcutBar control ID.
|
|
// Returns:
|
|
// TRUE if successful, otherwise returns FALSE.
|
|
//-----------------------------------------------------------------------
|
|
BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Register the window class if it has not already been registered.
|
|
// Parameters:
|
|
// hInstance - Instance of resource where control is located
|
|
// Returns:
|
|
// TRUE if the window class was successfully registered.
|
|
//-----------------------------------------------------------------------
|
|
BOOL RegisterWindowClass(HINSTANCE hInstance = NULL);
|
|
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this function to retrieve state information from the registry or .INI file.
|
|
// Parameters:
|
|
// lpszProfileName - Points to a null-terminated string that specifies the name of a
|
|
// section in the initialization file or a key in the Windows registry where state
|
|
// information is stored.
|
|
//-----------------------------------------------------------------------
|
|
void LoadState(LPCTSTR lpszProfileName);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this function to save the state information to the registry or .INI file.
|
|
// Parameters:
|
|
// lpszProfileName - Points to a null-terminated string that specifies the name of a
|
|
// section in the initialization file or a key in the Windows registry where state
|
|
// information is stored.
|
|
//-----------------------------------------------------------------------
|
|
void SaveState(LPCTSTR lpszProfileName);
|
|
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to add a new item.
|
|
// Parameters:
|
|
// nID - Identifier of item that is to be added.
|
|
// pWnd - A Pointer to CWnd class associated with new item.
|
|
// Returns:
|
|
// A pointer to a CXTPShortcutBarItem object.
|
|
//-----------------------------------------------------------------------
|
|
CXTPShortcutBarItem* AddItem(UINT nID, CWnd* pWnd = NULL);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to find an item with the specified identifier.
|
|
// Parameters:
|
|
// nID - Identifier of the item needed to find.
|
|
// Returns:
|
|
// A pointer to a CXTPShortcutBarItem object.
|
|
//-----------------------------------------------------------------------
|
|
CXTPShortcutBarItem* FindItem(int nID) const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to select the specified item.
|
|
// Parameters:
|
|
// pItem - Item to be selected.
|
|
//-----------------------------------------------------------------------
|
|
void SelectItem(CXTPShortcutBarItem* pItem);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to show/hide expand button
|
|
// Parameters:
|
|
// bShow - TRUE to show; FALSE to hide
|
|
//-----------------------------------------------------------------------
|
|
void ShowExpandButton(BOOL bShow);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Determines if expand button visible
|
|
// Returns:
|
|
// TRUE if expand button is visible; otherwise FALSE;
|
|
//-----------------------------------------------------------------------
|
|
BOOL IsExpandButtonVisible() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to remove the item.
|
|
// Parameters:
|
|
// nID - Identifier of the item to delete.
|
|
//-----------------------------------------------------------------------
|
|
void RemoveItem(int nID);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to remove all items.
|
|
//-----------------------------------------------------------------------
|
|
void RemoveAllItems();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method retrieves an item with specified index.
|
|
// Parameters:
|
|
// nIndex - Specifies the zero-based index of the item to retrieve.
|
|
// Returns:
|
|
// A pointer to a CXTPShortcutBarItem object.
|
|
//-----------------------------------------------------------------------
|
|
CXTPShortcutBarItem* GetItem(int nIndex) const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method determines where a point lies in a specified item.
|
|
// Parameters:
|
|
// pt - Specifies the point to be tested.
|
|
// Returns:
|
|
// A pointer to a CXTPShortcutBarItem item that occupies the specified point or NULL
|
|
// if no item occupies the point.
|
|
//-----------------------------------------------------------------------
|
|
CXTPShortcutBarItem* HitTest(CPoint pt) const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method sets the minimum height of the client area in a ShortcutBar control.
|
|
// The default value is 200.
|
|
// Parameters:
|
|
// nMinHeight - Specifies the minimum height in pixels of the client.
|
|
//-----------------------------------------------------------------------
|
|
void SetMinimumClientHeight(int nMinHeight);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to determine gripper rectangle.
|
|
// Returns:
|
|
// CRect object contains gripper bounding rectangle.
|
|
//-----------------------------------------------------------------------
|
|
CRect GetGripperRect() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to get size of items
|
|
// Returns:
|
|
// CSize object contains size of items
|
|
//-----------------------------------------------------------------------
|
|
CSize GetItemSize() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to set size of items
|
|
// Parameters:
|
|
// szItem - Size of the item.
|
|
//-----------------------------------------------------------------------
|
|
void SetItemSize(CSize szItem);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method determines the count of visible lines in the ShortcutBar control.
|
|
// Returns:
|
|
// Count of visible lines
|
|
// See Also:
|
|
// SetExpandedLinesCount
|
|
//-----------------------------------------------------------------------
|
|
int GetExpandedLinesCount() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method determines the height of visible lines in the ShortcutBar control.
|
|
// Returns:
|
|
// Height of visible lines
|
|
// See Also:
|
|
// SetExpandedLinesHeight
|
|
//-----------------------------------------------------------------------
|
|
int GetExpandedLinesHeight() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method sets the count of lines that are visible in the ShortcutBar control.
|
|
// Parameters:
|
|
// nCount - Number of visible lines.
|
|
// See Also:
|
|
// GetExpandedLinesCount
|
|
//-----------------------------------------------------------------------
|
|
void SetExpandedLinesCount(int nCount);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method sets the the height of lines that are visible in the ShortcutBar control.
|
|
// Parameters:
|
|
// nHeight - Height of visible lines.
|
|
// See Also:
|
|
// SetExpandedLinesCount, GetExpandedLinesCount
|
|
//-----------------------------------------------------------------------
|
|
void SetExpandedLinesHeight(int nHeight);
|
|
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to enable/disable resize client area
|
|
// Parameters:
|
|
// bAllowResize - TRUE to allow resize; FALSE to disable
|
|
// See Also:
|
|
// SetExpandedLinesCount
|
|
//-----------------------------------------------------------------------
|
|
void AllowGripperResize(BOOL bAllowResize);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Returns the hot item in the ShortcutBar control.
|
|
// Returns:
|
|
// Pointer to the hot item.
|
|
//-----------------------------------------------------------------------
|
|
CXTPShortcutBarItem* GetHotItem() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Returns the selected item in the ShortcutBar control.
|
|
// Returns:
|
|
// Pointer to the selected item.
|
|
//-----------------------------------------------------------------------
|
|
CXTPShortcutBarItem* GetSelectedItem() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to allow only one item to be selected.
|
|
// Parameters:
|
|
// bSingleSelection - TRUE to use single selection.
|
|
// See Also: IsSingleSelection, SetSelectItemOnFocus
|
|
//-----------------------------------------------------------------------
|
|
void SetSingleSelection(BOOL bSingleSelection = TRUE);
|
|
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to get Single Selection property of control.
|
|
// See Also: SetSingleSelection, SetSelectItemOnFocus
|
|
//-----------------------------------------------------------------------
|
|
BOOL IsSingleSelection() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to show active item on top of controls
|
|
// Parameters:
|
|
// bActiveItemOnTop - TRUE to show active item on top of controls
|
|
// See Also: IsShowActiveItemOnTop
|
|
//-----------------------------------------------------------------------
|
|
void ShowActiveItemOnTop(BOOL bActiveItemOnTop);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to get ShowActiveItemOnTop property of control.
|
|
// See Also: ShowActiveItemOnTop
|
|
//-----------------------------------------------------------------------
|
|
BOOL IsShowActiveItemOnTop() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to allow resize gripper by pixel
|
|
// Parameters:
|
|
// bAllowFreeResize - TRUE to allow resize gripper by pixel
|
|
// See Also: IsShowActiveItemOnTop
|
|
//-----------------------------------------------------------------------
|
|
void AllowFreeResize(BOOL bAllowFreeResize);
|
|
|
|
// Summary:
|
|
// Determines if gripper allowed to resize by pixel.
|
|
// See Also: ShowActiveItemOnTop
|
|
//-----------------------------------------------------------------------
|
|
BOOL IsAllowFreeResize() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to allow collapse items
|
|
// Parameters:
|
|
// bAllowCollapse - TRUE to allow collapse items
|
|
//-----------------------------------------------------------------------
|
|
void AllowCollapse(BOOL bAllowCollapse);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to show gripper.
|
|
// Parameters:
|
|
// bShowGripper - TRUE to show gripper; FALSE to hide
|
|
//-----------------------------------------------------------------------
|
|
void ShowGripper(BOOL bShowGripper);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Returns the pressed item in the ShortcutBar control.
|
|
// Returns:
|
|
// Pointer to the pressed item.
|
|
//-----------------------------------------------------------------------
|
|
CXTPShortcutBarItem* GetPressedItem() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Determines visibility of client pane.
|
|
// Returns:
|
|
// TRUE if client pane is visible.
|
|
//-----------------------------------------------------------------------
|
|
BOOL IsClientPaneVisible() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member to show or hide client pane.
|
|
// Parameters:
|
|
// bVisible - TRUE to show client pane; FALSE to hide.
|
|
//-----------------------------------------------------------------------
|
|
void SetClientPaneVisible(BOOL bVisible);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to set new image manager.
|
|
// Parameters:
|
|
// pImageManager - Points to a CXTPImageManager object to be set
|
|
// Example:
|
|
// <code>
|
|
// CXTPImageManager* pImageManager = new CXTPImageManager();
|
|
// pImageManager->SetIcons(IDR_MAINFRAME);
|
|
// m_wndShortcutBar.SetImageManager(pImageManager);
|
|
// </code>
|
|
// See Also:
|
|
// GetImageManager
|
|
//-----------------------------------------------------------------------
|
|
void SetImageManager(CXTPImageManager* pImageManager);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to get a pointer to the image manager of shortcut
|
|
// bar control.
|
|
// Returns:
|
|
// Pointer to the image manager of shortcut bar control.
|
|
// Remarks:
|
|
// The image manager is used to hold all of the icons displayed in the
|
|
// shortcut bar control.
|
|
// See Also:
|
|
// SetImageManager
|
|
//-----------------------------------------------------------------------
|
|
CXTPImageManager* GetImageManager() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member to determine how many CXTPShortcutBarItem(s) are int he
|
|
// shortcut bar.
|
|
// Returns:
|
|
// Number of shortcut bar items in the shortcut bar.
|
|
//-----------------------------------------------------------------------
|
|
int GetItemCount() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member to set right-to-left mode.
|
|
// Parameters:
|
|
// bRightToLeft - TRUE to set right-to-left reading-order properties.
|
|
//-----------------------------------------------------------------------
|
|
void SetLayoutRTL(BOOL bRightToLeft);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Retrieves bounding rectangle of shortcut bar client
|
|
// Returns:
|
|
// Bounding rectangle of shortcut bar client
|
|
//-----------------------------------------------------------------------
|
|
CRect GetClientPaneRect() const;
|
|
|
|
public:
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member to switch the visual theme of the ShortcutBar control.
|
|
// Parameters:
|
|
// paintTheme - New visual theme. Can be any of the values listed in the Remarks section.
|
|
// Remarks:
|
|
// paintTheme can be one of the following:
|
|
// * <b>xtpShortcutThemeOffice2000</b> Enables Office 2000 style theme.
|
|
// * <b>xtpShortcutThemeOfficeXP</b> Enables Office XP style theme.
|
|
// * <b>xtpShortcutThemeOffice2003</b> Enables Office 2003 style theme.
|
|
// * <b>xtpTaskPanelThemeShortcutBarOffice2007</b> Enables Office 2007 style theme.
|
|
//
|
|
// See Also:
|
|
// GetCurrentTheme, SetCustomTheme, XTPShortcutBarPaintTheme
|
|
//-----------------------------------------------------------------------
|
|
void SetTheme(XTPShortcutBarPaintTheme paintTheme);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member to set a custom theme.
|
|
// Parameters:
|
|
// pPaintManager - New paint manager.
|
|
// See Also:
|
|
// GetCurrentTheme, SetTheme, XTPShortcutBarPaintTheme
|
|
//-----------------------------------------------------------------------
|
|
void SetCustomTheme(CXTPShortcutBarPaintManager* pPaintManager);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member to get the current paint manager.
|
|
// Returns:
|
|
// The current paint manager.
|
|
//-----------------------------------------------------------------------
|
|
CXTPShortcutBarPaintManager* GetPaintManager() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this member to get the current visual theme.
|
|
// Returns:
|
|
// The current theme.
|
|
// See Also:
|
|
// SetTheme, SetCustomTheme, XTPShortcutBarPaintTheme
|
|
//-----------------------------------------------------------------------
|
|
XTPShortcutBarPaintTheme GetCurrentTheme() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to redraw control.
|
|
// Parameters:
|
|
// lpRect - The rectangular area of the bar that is invalid.
|
|
// bAnimate - TRUE to animate changes in bounding rectangle.
|
|
//-------------------------------------------------------------------------
|
|
//-----------------------------------------------------------------------
|
|
void RedrawControl(LPCRECT lpRect = NULL, BOOL bAnimate = FALSE);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to get tooltip context pointer.
|
|
//-----------------------------------------------------------------------
|
|
CXTPToolTipContext* GetToolTipContext() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to determine the number of visible items
|
|
// Returns:
|
|
// Number of visible items
|
|
//-----------------------------------------------------------------------
|
|
int GetVisibleItemsCount() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to determine the number of collapsed items
|
|
// Returns:
|
|
// Number of collapsed items
|
|
//-----------------------------------------------------------------------
|
|
int GetCollapsedItemsCount() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to reposition items.
|
|
//-----------------------------------------------------------------------
|
|
virtual void Reposition();
|
|
|
|
// ----------------------------------------------------------------------
|
|
// Summary:
|
|
// Called by the framework to draw the shortcut bar using the specified
|
|
// device context.
|
|
// Parameters:
|
|
// pDC : Pointer to a valid device context.
|
|
// rcClipBox : The rectangular area of the control that is invalid.
|
|
//-----------------------------------------------------------------------
|
|
virtual void OnDraw(CDC* pDC, CRect rcClipBox);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to enable animation for shortcut bar
|
|
// Parameters:
|
|
// bEnable - TRUE to enable animation; FALSE to disable
|
|
//-----------------------------------------------------------------------
|
|
void EnableAnimation(BOOL bEnable = TRUE);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Determines if ShortcutBar in minimized state
|
|
// Returns:
|
|
// TRUE if Width of shortcutBar is less that m_nMinimizedWidth parameter
|
|
// See Also: AllowMinimize
|
|
//-----------------------------------------------------------------------
|
|
BOOL IsShortcutBarMinimized() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to show Navigation Pane if user resize ShortcutBar to small size
|
|
// Parameters:
|
|
// bAllowMinimize - TRUE to allow minimize feature
|
|
// nMinimizedWidth - Width of shortcutBar considered as minimized
|
|
//-----------------------------------------------------------------------
|
|
void AllowMinimize(BOOL bAllowMinimize = TRUE, int nMinimizedWidth = 32);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to show Minimize button in caption of the Pane.
|
|
// Parameters:
|
|
// bShowMinimizeButton - TRUE to show minimize button
|
|
//-----------------------------------------------------------------------
|
|
void ShowMinimizeButton(BOOL bShowMinimizeButton);
|
|
BOOL IsMinimizeButtonVisible() const;
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Determines if Minimized ShortcutBar feature is enabled
|
|
// Returns:
|
|
// TRUE to show Navigation Pane item when Width of ShortcutBar is less than m_nMinimizedWidth
|
|
//-----------------------------------------------------------------------
|
|
BOOL IsAllowMinimize() const;
|
|
|
|
CXTPShortcutBarItem* GetNavigationPaneItem() const;
|
|
|
|
virtual void OnMinimizeButtonClicked();
|
|
|
|
protected:
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method is called when reposition is done.
|
|
//-----------------------------------------------------------------------
|
|
virtual void OnRepositionDone();
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method is called when expand button is pressed.
|
|
// Parameters:
|
|
// pExpandButton - A pointer to expand button.
|
|
//-----------------------------------------------------------------------
|
|
virtual void OnExpandButtonDown(CXTPShortcutBarItem* pExpandButton);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// This method is called when Navigate button is pressed.
|
|
// Parameters:
|
|
// pNavigateButton - A pointer to Navigate button.
|
|
//-----------------------------------------------------------------------
|
|
void OnNavigateButtonDown(CXTPShortcutBarItem* pNavigateButton);
|
|
|
|
//-----------------------------------------------------------------------
|
|
// Summary:
|
|
// Call this method to set hot item.
|
|
// Parameters:
|
|
// pItem - Item to be hot.
|
|
//-----------------------------------------------------------------------
|
|
void SetHotItem(CXTPShortcutBarItem* pItem);
|
|
|
|
protected:
|
|
|
|
//{{AFX_CODEJOCK_PRIVATE
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
//{{AFX_VIRTUAL(CXTPShortcutBar)
|
|
BOOL OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult);
|
|
INT_PTR OnToolHitTest(CPoint point, TOOLINFO* pTI) const;
|
|
void PreSubclassWindow();
|
|
BOOL PreCreateWindow(CREATESTRUCT& cs);
|
|
//}}AFX_VIRTUAL
|
|
|
|
//{{AFX_MSG(CXTPShortcutBar)
|
|
afx_msg void OnPaint();
|
|
afx_msg LRESULT OnPrintClient(WPARAM wParam, LPARAM /*lParam*/);
|
|
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
|
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
afx_msg void OnDestroy();
|
|
afx_msg void OnTimer(UINT_PTR nIDEvent);
|
|
afx_msg void OnNcPaint();
|
|
afx_msg void OnNcCalcSize(BOOL /*bCalcValidRects*/, NCCALCSIZE_PARAMS* /*lpncsp*/);
|
|
afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
|
|
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
|
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
|
|
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
|
|
afx_msg void OnCaptureChanged(CWnd* pWnd);
|
|
afx_msg void OnMouseLeave();
|
|
afx_msg void OnSysColorChange();
|
|
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
|
|
afx_msg void OnRButtonUp(UINT nFlags, CPoint point) ;
|
|
afx_msg LRESULT OnExpandPopupExecute(WPARAM wparam, LPARAM lParam);
|
|
afx_msg void OnShowMoreButtons();
|
|
afx_msg void OnShowFewerButtons();
|
|
afx_msg void OnUpdateShowMoreButtons(CCmdUI* pCmdUI);
|
|
afx_msg void OnUpdateShowFewerButtons(CCmdUI* pCmdUI);
|
|
afx_msg void OnSetFocus(CWnd* pWnd);
|
|
//}}AFX_MSG
|
|
//}}AFX_CODEJOCK_PRIVATE
|
|
|
|
private:
|
|
BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
|
|
CXTPShortcutBarItem* CreateNavigationItem();
|
|
CXTPShortcutBarItem* CreateConfigureButton();
|
|
|
|
protected:
|
|
CXTPShortcutBarPaintManager* m_pPaintManager; // Current paint manager.
|
|
CXTPImageManager* m_pImageManager; // Current image manager.
|
|
int m_nExpandedLines; // Number of lines currently visible
|
|
int m_nDesiredExpandedLinesHeight; // Desired visible lines height height.
|
|
int m_nMinClientHeight; // The height of client area.
|
|
BOOL m_bAllowResize; // TRUE to allow resize
|
|
XTPShortcutBarPaintTheme m_paintTheme; // Current theme.
|
|
CShortcutArray m_arrItems; // Array of items.
|
|
CSize m_szItem; // Size of items
|
|
CRect m_rcClient; // Client's rectangle.
|
|
CRect m_rcGripper; // Gripper's rectangle.
|
|
HWND m_hwndClient; // Client window handle
|
|
HCURSOR m_hSizeCursor; // Handle to the cursor displayed for the size icon.
|
|
BOOL m_bTrackingSize; // TRUE if control in tracking mode.
|
|
BOOL m_bShowActiveItemOnTop; // TRUE to show active item on top
|
|
BOOL m_bAllowFreeResize; // TRUE to allow resize gripper by pixel;
|
|
BOOL m_bAllowCollapse; // TRUE to allow collapse items.
|
|
BOOL m_bShowGripper; // TRUE to show gripper.
|
|
|
|
CXTPShortcutBarItem* m_pHotItem; // Pointer to hot item.
|
|
CXTPShortcutBarItem* m_pSelectedItem; // Pointer to selected item.
|
|
CXTPShortcutBarItem* m_pPressedItem; // Pointer to pressed item.
|
|
|
|
CXTPShortcutBarPopup* m_pActivePopup;
|
|
|
|
CXTPShortcutBarItem* m_pNavigationPaneItem;
|
|
|
|
BOOL m_bClientPaneVisible; // TRUE is client Pane in ShortcutBar is visible
|
|
HCURSOR m_hHandCursor; // Hand cursor that is displayed when the cursor is positioned over a shortcut bar item.
|
|
BOOL m_bSingleSelection; // TRUE to use single selected items.
|
|
CXTPToolTipContext* m_pToolTipContext; // Tooltip Context.
|
|
BOOL m_bPreSubclassWindow; // True if PreSubclassWindow was called
|
|
CXTPShortcutBarAnimation* m_pAnimation; // Animation helper
|
|
|
|
int m_bAllowMinimize;
|
|
int m_nMinimizedWidth;
|
|
BOOL m_bMinimized;
|
|
BOOL m_bShowMinimizeButton;
|
|
|
|
|
|
friend class CXTPShortcutBarItem;
|
|
friend class CShortcutBarCtrl;
|
|
};
|
|
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
AFX_INLINE CString CXTPShortcutBarItem::GetCaption() const{
|
|
return m_strCaption;
|
|
}
|
|
AFX_INLINE CString CXTPShortcutBarItem::GetTooltip() const{
|
|
return m_strTooltip;
|
|
}
|
|
AFX_INLINE BOOL CXTPShortcutBarItem::IsItemExpandButton() const{
|
|
return m_bExpandButton;
|
|
}
|
|
AFX_INLINE BOOL CXTPShortcutBarItem::IsExpanded() const {
|
|
return m_bExpanded;
|
|
}
|
|
AFX_INLINE CXTPShortcutBar* CXTPShortcutBarItem::GetShortcutBar() const {
|
|
return m_pShortcutBar;
|
|
}
|
|
AFX_INLINE CRect CXTPShortcutBarItem::GetItemRect() const {
|
|
return m_rcItem;
|
|
}
|
|
AFX_INLINE void CXTPShortcutBarItem::SetItemData(DWORD_PTR dwData) {
|
|
m_dwData = dwData;
|
|
}
|
|
AFX_INLINE DWORD_PTR CXTPShortcutBarItem::GetItemData() const {
|
|
return m_dwData;
|
|
}
|
|
AFX_INLINE CWnd* CXTPShortcutBarItem::GetClientWindow() const {
|
|
return CWnd::FromHandle(m_hwndChild);
|
|
}
|
|
|
|
AFX_INLINE CXTPShortcutBarItem* CXTPShortcutBar::GetHotItem() const {
|
|
return m_pHotItem;
|
|
}
|
|
AFX_INLINE CXTPShortcutBarItem* CXTPShortcutBar::GetSelectedItem() const {
|
|
return m_pSelectedItem;
|
|
}
|
|
AFX_INLINE CXTPShortcutBarItem* CXTPShortcutBar::GetPressedItem() const {
|
|
return m_pPressedItem;
|
|
}
|
|
AFX_INLINE CRect CXTPShortcutBar::GetGripperRect() const {
|
|
return m_rcGripper;
|
|
}
|
|
AFX_INLINE CSize CXTPShortcutBar::GetItemSize() const {
|
|
return m_szItem;
|
|
}
|
|
AFX_INLINE void CXTPShortcutBar::SetItemSize(CSize szItem) {
|
|
m_szItem = szItem;
|
|
}
|
|
AFX_INLINE int CXTPShortcutBar::GetExpandedLinesCount() const{
|
|
return m_nExpandedLines;
|
|
}
|
|
AFX_INLINE BOOL CXTPShortcutBar::IsClientPaneVisible() const{
|
|
return m_bClientPaneVisible;
|
|
}
|
|
AFX_INLINE void CXTPShortcutBar::SetClientPaneVisible(BOOL bVisible) {
|
|
m_bClientPaneVisible = bVisible;
|
|
Reposition();
|
|
}
|
|
AFX_INLINE CXTPShortcutBarPaintManager* CXTPShortcutBar::GetPaintManager() const{
|
|
return m_pPaintManager;
|
|
}
|
|
AFX_INLINE void CXTPShortcutBar::SetMinimumClientHeight(int nMinHeight) {
|
|
m_nMinClientHeight = nMinHeight;
|
|
}
|
|
AFX_INLINE XTPShortcutBarPaintTheme CXTPShortcutBar::GetCurrentTheme() const{
|
|
return m_paintTheme;
|
|
}
|
|
AFX_INLINE BOOL CXTPShortcutBar::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext) {
|
|
return CWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);
|
|
}
|
|
AFX_INLINE void CXTPShortcutBar::AllowGripperResize(BOOL bAllowResize) {
|
|
m_bAllowResize = bAllowResize;
|
|
}
|
|
AFX_INLINE void CXTPShortcutBar::SetSingleSelection(BOOL bSingleSelection) {
|
|
m_bSingleSelection = bSingleSelection;
|
|
Reposition();
|
|
}
|
|
AFX_INLINE BOOL CXTPShortcutBar::IsSingleSelection() const{
|
|
return m_bSingleSelection;
|
|
}
|
|
AFX_INLINE void CXTPShortcutBar::ShowActiveItemOnTop(BOOL bActiveItemOnTop) {
|
|
m_bShowActiveItemOnTop = bActiveItemOnTop;
|
|
Reposition();
|
|
}
|
|
AFX_INLINE BOOL CXTPShortcutBar::IsShowActiveItemOnTop() const {
|
|
return m_bShowActiveItemOnTop;
|
|
}
|
|
AFX_INLINE void CXTPShortcutBar::AllowFreeResize(BOOL bAllowFreeResize) {
|
|
m_bAllowFreeResize = bAllowFreeResize;
|
|
Reposition();
|
|
}
|
|
AFX_INLINE BOOL CXTPShortcutBar::IsAllowFreeResize() const {
|
|
return m_bAllowFreeResize;
|
|
}
|
|
AFX_INLINE void CXTPShortcutBar::AllowCollapse(BOOL bAllowCollapse) {
|
|
m_bAllowCollapse = bAllowCollapse;
|
|
Reposition();
|
|
}
|
|
AFX_INLINE void CXTPShortcutBar::ShowGripper(BOOL bShowGripper) {
|
|
m_bShowGripper = bShowGripper;
|
|
Reposition();
|
|
}
|
|
AFX_INLINE int CXTPShortcutBar::GetExpandedLinesHeight() const {
|
|
return m_nDesiredExpandedLinesHeight;
|
|
}
|
|
AFX_INLINE CRect CXTPShortcutBar::GetClientPaneRect() const {
|
|
return m_rcClient;
|
|
}
|
|
AFX_INLINE void CXTPShortcutBar::AllowMinimize(BOOL bAllowMinimize, int nMinimizedWidth) {
|
|
m_bAllowMinimize = bAllowMinimize;
|
|
m_nMinimizedWidth = nMinimizedWidth;
|
|
}
|
|
AFX_INLINE void CXTPShortcutBar::ShowMinimizeButton(BOOL bShowMinimizeButton) {
|
|
m_bShowMinimizeButton = bShowMinimizeButton;
|
|
Reposition();
|
|
}
|
|
AFX_INLINE BOOL CXTPShortcutBar::IsAllowMinimize() const {
|
|
return m_bAllowMinimize;
|
|
}
|
|
AFX_INLINE CXTPShortcutBarItem* CXTPShortcutBar::GetNavigationPaneItem() const {
|
|
return m_pNavigationPaneItem;
|
|
}
|
|
AFX_INLINE BOOL CXTPShortcutBar::IsMinimizeButtonVisible() const {
|
|
return m_bShowMinimizeButton;
|
|
}
|
|
|
|
#endif // !defined(__XTPSHORTCUTBAR_H__)
|