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.

2409 lines
96 KiB
C

2 years ago
// XTPControl.h : interface for the CXTPControl class.
//
// This file is a part of the XTREME COMMANDBARS 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(__XTPCONTROL_H__)
#define __XTPCONTROL_H__
//}}AFX_CODEJOCK_PRIVATE
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
class CXTPControl;
class CXTPControls;
class CXTPCommandBar;
class CXTPImageManager;
class CXTPImageManagerIcon;
class CXTPPaintManager;
class CXTPPropExchange;
class CXTPRibbonGroup;
class CXTPCommandBarList;
class CXTPCommandBars;
struct XTP_COMMANDBARS_PROPEXCHANGE_PARAM;
class CXTPControlActions;
//===========================================================================
// Summary:
// CXTPControlAction is a CCmdTarget derived class. It represents the single action of controls.
//===========================================================================
class _XTP_EXT_CLASS CXTPControlAction : public CXTPCmdTarget
{
DECLARE_DYNAMIC(CXTPControlAction)
protected:
//-----------------------------------------------------------------------
// Summary:
// Constructs a CXTPControlAction object
// Parameters:
// pActions - Owner actions collection.
//-----------------------------------------------------------------------
CXTPControlAction(CXTPControlActions* pActions);
//-----------------------------------------------------------------------
// Summary:
// Destroys a CXTPControlAction object, handles cleanup and deallocation
//-----------------------------------------------------------------------
~CXTPControlAction();
public:
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the caption of the action.
// Parameters:
// lpszCaption - Caption to be set.
// nIDCaption - Caption resource identifier.
// See Also: SetPrompt, SetDescription, SetTooltip
//-----------------------------------------------------------------------
void SetCaption(LPCTSTR lpszCaption);
void SetCaption(UINT nIDCaption);// <combine CXTPControl::SetCaption@LPCTSTR>
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the action's identifier.
// Returns:
// The identifier of the control.
//-----------------------------------------------------------------------
int GetID() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the action's caption.
// Returns:
// The caption of the control.
//-----------------------------------------------------------------------
CString GetCaption() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the description of the action.
// Parameters:
// lpszDescription - Description to be set.
// See Also: SetCaption, SetPrompt, SetTooltip
//-----------------------------------------------------------------------
void SetDescription(LPCTSTR lpszDescription);
//----------------------------------------------------------------------
// Summary:
// Call this member to load a string from a STRINGTABLE resource
// to set the tooltip and description of a action.
// Parameters:
// lpszPrompt - String from resource file that contains the
// tooltip and description of the item. The Caption
// will be set to use the tooltip text. The tooltip
// and description must be separated by "\n" if both
// are included. You can omit the description and
// both the tooltip and description will be set to
// the same value.
// Remarks:
// Resource strings are in the format "Description\nToolTip".
//
// Note: The caption is set to the value of the tooltip when this
// member is called.
// See Also: SetCaption, SetDescription, SetTooltip
//----------------------------------------------------------------------
void SetPrompt(LPCTSTR lpszPrompt);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the action's description.
// Returns:
// The description of the control.
//-----------------------------------------------------------------------
CString GetDescription() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the action 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 action.
//-----------------------------------------------------------------------
int GetIconId() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the action help identifier.
// Parameters:
// nId - Help identifier to be set.
//-----------------------------------------------------------------------
void SetHelpId(int nId);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the help identifier.
// Returns:
// Help identifier of the action.
//-----------------------------------------------------------------------
int GetHelpId() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to enable or disable the action.
// Parameters:
// bEnabled - TRUE if the action is enabled.
// See Also: GetEnabled, SetChecked
//-----------------------------------------------------------------------
void SetEnabled(BOOL bEnabled);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the state of the action.
// Returns:
// TRUE if the action is enabled; otherwise FALSE.
//-----------------------------------------------------------------------
BOOL GetEnabled() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to check the action.
// Parameters:
// bChecked - TRUE if the action is checked.
// See Also: GetChecked, SetEnabled
//-----------------------------------------------------------------------
void SetChecked(BOOL bChecked);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the state of the action.
// Returns:
// TRUE if the action is checked; otherwise FALSE.
//-----------------------------------------------------------------------
BOOL GetChecked() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to determine if the action is visible.
// Returns:
// TRUE if the action is visible.
//-----------------------------------------------------------------------
BOOL IsVisible() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to change the state of the action.
// Parameters:
// bVisible - TRUE if the action is visible.
//-----------------------------------------------------------------------
void SetVisible(BOOL bVisible);
//-----------------------------------------------------------------------
// Summary:
// This method sets the 32-bit value associated with the action
// Parameters:
// dwTag - Contains the new value to associate with the action.
//-----------------------------------------------------------------------
void SetTag(DWORD_PTR dwTag);
//-----------------------------------------------------------------------
// Summary:
// This method retrieves the application-supplied 32-bit value
// associated with the action.
// Returns:
// The 32-bit value associated with the action.
//-----------------------------------------------------------------------
DWORD_PTR GetTag() const;
//----------------------------------------------------------------------
// Summary:
// Call this method to set the category of the action.
// Parameters:
// lpszCategory - Category of the action.
//----------------------------------------------------------------------
void SetCategory(LPCTSTR lpszCategory);
//----------------------------------------------------------------------
// Summary:
// Call this method to retrieve the category of the action.
// Returns:
// Category of the action.
//----------------------------------------------------------------------
CString GetCategory() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the tooltip of the action.
// Parameters:
// lpszTooltip - Tooltip to be set.
// See Also: SetCaption, SetDescription, SetPrompt
//-----------------------------------------------------------------------
void SetTooltip(LPCTSTR lpszTooltip);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the action's tooltip.
// Returns:
// Tooltip of the control.
//-----------------------------------------------------------------------
CString GetTooltip() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the shortcut string to the action.
// Parameters:
// lpszShortcutText - Shortcut to be set.
//-----------------------------------------------------------------------
void SetShortcutText(LPCTSTR lpszShortcutText);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the action's shortcut.
// Returns:
// The shortcut of the control.
//-----------------------------------------------------------------------
CString GetShortcutText() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the keyboard tip to the action.
// Parameters:
// lpszKeyboardTip - Keyboard tip to be set.
//-----------------------------------------------------------------------
void SetKeyboardTip(LPCTSTR lpszKeyboardTip);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the action's keyboard tip.
// Returns:
// The keyboard tip of the control.
//-----------------------------------------------------------------------
CString GetKeyboardTip() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set grayed-out text displayed in the edit and combo controls
// that displayed a helpful description of what the control is used for.
// Parameters:
// lpszEditHint - Edit hint to be set
//-----------------------------------------------------------------------
void SetEditHint(LPCTSTR lpszEditHint);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get grayed-out text displayed in the edit and combo controls
// that displayed a helpful description of what the control is used for.
// Returns:
// Edit hint of the control
//-----------------------------------------------------------------------
CString GetEditHint() const;
//-----------------------------------------------------------------------
// Input: lpszKey - "String" version of the Id to be given to a command
// in the CommandBars Designer
// Summary: "String" version of the Id given to a command in the
// CommandBars Designer. (For use with CommandBars designed in
// the CommandBars Designer Studio)
// Remarks: The key is the "string" version of the Id given to a command
// in the CommandBars Designer. "String" version refers to the
// fact that a named constant is created in the designer, for
// example ID_FILE_NEW, can also be referenced buy the actual
// string "ID_FILE_NEW" which is stored in the key property.
// Use GetKey to retreive this key.
//
// This can be useful for developers who have older
// applications that referenced controls by name rather than
// by an Id.
//
// Steps needed to use the key:
//
// 1. In the Designer add all actions you need to the
// ActionLibrary pane ( and Save them).
//
// Note: The Actions Pane is a way to save and "Re-use" commands. Always add controls to this library first so they can be re-used in other xcb or xml files.
// 2. Now you need to drag the actions from the ActionLibrary
// pane to the Controls pane and then from the Controls pane
// to the Toolbars and Menus.
// 3. In your code use GetKey property instead of the GetId.
//
// See Also: GetKey, m_strKey
//-----------------------------------------------------------------------
void SetKey(LPCTSTR lpszKey);
//-----------------------------------------------------------------------
// Summary: Gets the "string" version of the Id given to a command in the
// CommandBars Designer. (For use with CommandBars designed in
// the CommandBars Designer Studio)
// Remarks: The key is the "string" version of the Id given to a command
// in the CommandBars Designer. "String" version refers to the
// fact that a named constant is created in the designer, for
// example ID_FILE_NEW, can also be referenced buy the actual
// string "ID_FILE_NEW" which is stored in the key property.
// Use GetKey to retreive this key.
//
// This can be useful for developers who have older
// applications that referenced controls by name rather than
// by an Id.
//
// Steps needed to use the key:
//
// 1. In the Designer add all actions you need to the
// ActionLibrary pane ( and Save them).
//
// Note: The Actions Pane is a way to save and "Re-use" commands. Always add controls to this library first so they can be re-used in other xcb or xml files.
// 2. Now you need to drag the actions from the ActionLibrary
// pane to the Controls pane and then from the Controls pane
// to the Toolbars and Menus.
// 3. In your code use GetKey property instead of the GetId.
//
// Returns: The "string" version of the Id given to a command in the
// CommandBars Designer.
// See Also: SetKey
//-----------------------------------------------------------------------
CString GetKey() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to get pointer to owner CommandBars
// Returns:
// The pointer to CXTPCommandBars object
//-----------------------------------------------------------------------
CXTPCommandBars* GetCommandBars() const;
public:
//-----------------------------------------------------------------------
// Summary:
// Call this member to get control associated with action
// Parameters:
// nIndex - Index of control to retrieve
// Returns:
// The pointer to CXTPCommandBars object
//-----------------------------------------------------------------------
CXTPControl* GetControl(int nIndex) const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to get number of controls associated with the action
// Returns:
// Total number of controls associated with action
//-----------------------------------------------------------------------
int GetCount() const;
public:
//-----------------------------------------------------------------------
// Summary:
// Call this member to redraw all controls associated with actions
//-----------------------------------------------------------------------
void RedrawControls();
//-----------------------------------------------------------------------
// Summary:
// Call this member to reposition all controls associated with actions
//-----------------------------------------------------------------------
void RepositionControls();
public:
//-----------------------------------------------------------------------
// Summary:
// Reads or writes this object from or to an archive.
// Parameters:
// pPX - A CXTPPropExchange object to serialize to or from.
//----------------------------------------------------------------------
void DoPropExchange(CXTPPropExchange* pPX);
protected:
//-----------------------------------------------------------------------
// Summary:
// This method is called when new control attached to the Action
// Parameters:
// pControl - Control to be attached
// See Also: RemoveControl
//-----------------------------------------------------------------------
void AddControl(CXTPControl* pControl);
//-----------------------------------------------------------------------
// Summary:
// This method is called to remove control from actions list
// Parameters:
// pControl - Control to be removed
// See Also: AddControl
//-----------------------------------------------------------------------
void RemoveControl(CXTPControl* pControl);
//-------------------------------------------------------------------------
// Summary:
// This method called before action removed
//-------------------------------------------------------------------------
void OnRemoved();
//-----------------------------------------------------------------------
// Summary:
// This method is called when property of action was changed
// Parameters:
// nProperty - Property identifier
// See Also: OnChanging
//-----------------------------------------------------------------------
void OnChanged(int nProperty);
//-----------------------------------------------------------------------
// Summary:
// This method is called when property of action is about to be changed
// Parameters:
// nProperty - Property identifier
// See Also:OnChanged
//-----------------------------------------------------------------------
void OnChanging(int nProperty);
public:
CCmdTarget* m_pTarget; // Parameter of action
protected:
DWORD_PTR m_nTag; // Action tag.
int m_nId; // Identifier of the action.
int m_nIconId; // Identifier of the action's image.
int m_nHelpId; // Help identifier
BOOL m_bEnabled; // TRUE if the action is enabled.
BOOL m_bChecked; // TRUE if the action is checked.
BOOL m_bVisible; // TRUE if action is visible
CString m_strCaption; // Caption of the action.
CString m_strTooltipText; // Tooltip text.
CString m_strDescriptionText; // Description text.
CString m_strCategory; // Category of the action.
CString m_strShortcutText; // Shortcut text
CString m_strEditHint; // Edit Hint for Combo and Edit Controls
CString m_strKeyboardTip; // Keyboard tip
CString m_strKey; // Key
CArray<CXTPControl*, CXTPControl*> m_arrControls; // Associated controls
CXTPControlActions* m_pActions; // Parent actions object
private:
friend class CXTPControl;
friend class CXTPControls;
friend class CXTPControlActions;
};
AFX_INLINE void CXTPControlAction::SetShortcutText(LPCTSTR lpszShortcutText) {
m_strShortcutText = lpszShortcutText;
}
AFX_INLINE CString CXTPControlAction::GetShortcutText() const {
return m_strShortcutText;
}
AFX_INLINE void CXTPControlAction::SetDescription(LPCTSTR lpszDescription) {
m_strDescriptionText = lpszDescription;
}
AFX_INLINE CString CXTPControlAction::GetDescription() const {
return m_strDescriptionText;
}
AFX_INLINE CString CXTPControlAction::GetTooltip() const {
return m_strTooltipText;
}
AFX_INLINE void CXTPControlAction::SetTooltip(LPCTSTR lpszTooltip) {
m_strTooltipText = lpszTooltip;
}
AFX_INLINE CString CXTPControlAction::GetKey() const {
return m_strKey;
}
AFX_INLINE void CXTPControlAction::SetKey(LPCTSTR lpszKey) {
m_strKey = lpszKey;
}
AFX_INLINE CString CXTPControlAction::GetCaption() const {
return m_strCaption.IsEmpty() ? m_strTooltipText : m_strCaption;
}
AFX_INLINE CString CXTPControlAction::GetEditHint() const {
return m_strEditHint;
}
AFX_INLINE int CXTPControlAction::GetID () const {
return m_nId;
}
AFX_INLINE void CXTPControlAction::SetIconId(int nId) {
if (m_nIconId != nId) {m_nIconId = nId; RedrawControls();}
}
AFX_INLINE int CXTPControlAction::GetIconId() const {
return m_nIconId <= 0 ? m_nId : m_nIconId;
}
AFX_INLINE void CXTPControlAction::SetHelpId(int nId) {
m_nHelpId = nId;
}
AFX_INLINE int CXTPControlAction::GetHelpId() const {
return m_nHelpId <= 0 ? m_nId : m_nHelpId;
}
AFX_INLINE void CXTPControlAction::SetEnabled(BOOL bEnabled) {
if (m_bEnabled != bEnabled) {m_bEnabled = bEnabled; OnChanged(0); RedrawControls();}
}
AFX_INLINE BOOL CXTPControlAction::GetChecked() const {
return m_bChecked;
}
AFX_INLINE void CXTPControlAction::SetChecked(BOOL bChecked) {
if (m_bChecked != bChecked) {m_bChecked = bChecked; OnChanged(1); RedrawControls();}
}
AFX_INLINE BOOL CXTPControlAction::IsVisible() const {
return m_bVisible;
}
AFX_INLINE void CXTPControlAction::SetVisible(BOOL bVisible) {
if (m_bVisible != bVisible) { m_bVisible = bVisible; OnChanged(2); RepositionControls();}
}
AFX_INLINE void CXTPControlAction::SetCategory(LPCTSTR lpszCategory) {
m_strCategory = lpszCategory;
}
AFX_INLINE CString CXTPControlAction::GetCategory() const {
return m_strCategory;
}
AFX_INLINE void CXTPControlAction::SetTag(DWORD_PTR dwTag) {
m_nTag = dwTag;
}
AFX_INLINE DWORD_PTR CXTPControlAction::GetTag() const {
return m_nTag;
}
AFX_INLINE void CXTPControlAction::SetKeyboardTip(LPCTSTR lpszKeyboardTip) {
m_strKeyboardTip = lpszKeyboardTip;
}
AFX_INLINE CString CXTPControlAction::GetKeyboardTip() const {
return m_strKeyboardTip;
}
//===========================================================================
// Summary:
// CXTPControlActions is a CCmdTarget derived class. It represents a collection
// of the actions.
//===========================================================================
class _XTP_EXT_CLASS CXTPControlActions : public CXTPCmdTarget
{
protected:
//-----------------------------------------------------------------------
// Summary:
// Constructs a CXTPControlActions object
// Parameters:
// pCommandBars - Parent commandbars object
//-----------------------------------------------------------------------
CXTPControlActions(CXTPCommandBars* pCommandBars);
//-----------------------------------------------------------------------
// Summary:
// Destroys a CXTPControlActions object, handles cleanup and deallocation
//-----------------------------------------------------------------------
~CXTPControlActions();
public:
//-----------------------------------------------------------------------
// Summary:
// Call this member to return the action at the specified index.
// Parameters:
// nIndex - An integer index.
// Returns:
// The CXTPControlAction pointer currently at this index.
//-----------------------------------------------------------------------
CXTPControlAction* GetAt(int nIndex) const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the count of the actions
// Returns:
// The count of the actions.
//-----------------------------------------------------------------------
int GetCount() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to find the specified action.
// Parameters:
// nId - The action's identifier.
// Returns:
// Pointer to the CXTPControlAction object if successful; otherwise returns NULL.
//-----------------------------------------------------------------------
CXTPControlAction* FindAction(int nId) const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to add a new action.
// Parameters:
// nId - Identifier of the control to be added.
// pAction - Action to add
// Returns:
// A pointer to the added action.
//-----------------------------------------------------------------------
CXTPControlAction* Add(int nId);
CXTPControlAction* Add(int nId, CXTPControlAction* pAction); // <combine CXTPControlActions::Add@int>
//-----------------------------------------------------------------------
// Summary:
// Reads or writes this object from or to an archive.
// Parameters:
// pPX - A CXTPPropExchange object to serialize to or from.
//----------------------------------------------------------------------
void DoPropExchange(CXTPPropExchange* pPX);
//-----------------------------------------------------------------------
// Summary:
// Call this member to remove all actions.
//-----------------------------------------------------------------------
void RemoveAll();
//-----------------------------------------------------------------------
// Input: nId - Identifier of the control that has the action to be
// removed
// Summary: Removes the action of a control by using the Id of the control
//-----------------------------------------------------------------------
void Remove(int nId);
//-----------------------------------------------------------------------
// Summary:
// Call this method to create actions using menu commands
// Parameters:
// pMenu - Menu pointer to convert from
//-----------------------------------------------------------------------
void CreateFromMenu(CMenu* pMenu);
protected:
protected:
//-----------------------------------------------------------------------
// Input: pAction - Reference to the action to add to the collection
// of actions
// Summary: Inserts an existing CXTPControlAction into the collection of
// actions
//-----------------------------------------------------------------------
void Insert(CXTPControlAction* pAction);
//-----------------------------------------------------------------------
// Input: pAction - Reference to an action to be assigned a new Id
// nId - The action's new identifier
// Summary: Sets or updates the control Id associated with an action
//-----------------------------------------------------------------------
void SetActionId(CXTPControlAction* pAction, int nId);
protected:
CArray<CXTPControlAction*, CXTPControlAction*> m_arrActions; // Actions array
CXTPCommandBars* m_pCommandBars; // Parent CommandBars object
friend class CXTPCommandBars;
friend class CXTPControlAction;
};
//===========================================================================
// Summary:
// CXTPControl is a CCmdTarget derived class. It represents the parent
// class for the command bar's controls.
//===========================================================================
class _XTP_EXT_CLASS CXTPControl : public CXTPCmdTarget, public CXTPAccessible
{
private:
class CDocTemplateMap : public CMap<UINT, UINT, BOOL, BOOL>
{
public:
void Copy(CDocTemplateMap& map);
};
protected:
//-----------------------------------------------------------------------
// Summary:
// Constructs a CXTPControl object
//-----------------------------------------------------------------------
CXTPControl();
//-----------------------------------------------------------------------
// Summary:
// Destroys a CXTPControl object, handles cleanup and deallocation
//-----------------------------------------------------------------------
virtual ~CXTPControl();
public:
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the style of the control.
// Parameters:
// buttonStyle - The style to be set. Can be any of the values listed in the Remarks section.
// Remarks:
// buttonStyle parameter can be one of the following:
// * <b>xtpButtonAutomatic</b> Indicates the default style.
// * <b>xtpButtonCaption</b> Indicates caption drawing only.
// * <b>xtpButtonIcon</b> Indicates icon drawing only.
// * <b>xtpButtonIconAndCaption</b> Indicates icon and caption drawing.
//-----------------------------------------------------------------------
void SetStyle(XTPButtonStyle buttonStyle);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the control's style.
// Returns:
// The style of the control.
//-----------------------------------------------------------------------
XTPButtonStyle GetStyle() const;
public:
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the caption of the control.
// Parameters:
// lpszCaption - Caption to be set.
// nIDCaption - Caption resource identifier.
// See Also: SetPrompt, SetDescription, SetTooltip
//-----------------------------------------------------------------------
void SetCaption(LPCTSTR lpszCaption);
void SetCaption(UINT nIDCaption);// <combine CXTPControl::SetCaption@LPCTSTR>
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the control's caption.
// Returns:
// The caption of the control.
//-----------------------------------------------------------------------
virtual CString GetCaption() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the shortcut string to the control.
// Parameters:
// lpszShortcutText - Shortcut to be set.
//-----------------------------------------------------------------------
void SetShortcutText(LPCTSTR lpszShortcutText);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the control's shortcut.
// Returns:
// The shortcut of the control.
//-----------------------------------------------------------------------
CString GetShortcutText() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the description of the control.
// Parameters:
// lpszDescription - Description to be set.
// See Also: SetCaption, SetPrompt, SetTooltip
//-----------------------------------------------------------------------
void SetDescription(LPCTSTR lpszDescription);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the control's description.
// Returns:
// The description of the control.
//-----------------------------------------------------------------------
virtual CString GetDescription() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the tooltip of the control.
// Parameters:
// lpszTooltip - Tooltip to be set.
// See Also: SetCaption, SetDescription, SetPrompt
//-----------------------------------------------------------------------
void SetTooltip(LPCTSTR lpszTooltip);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the control's tooltip.
// Returns:
// Tooltip of the control.
//-----------------------------------------------------------------------
virtual CString GetTooltip() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the keyboard tip to the control.
// Parameters:
// lpszKeyboardTip - Keyboard tip to be set.
//-----------------------------------------------------------------------
void SetKeyboardTip(LPCTSTR lpszKeyboardTip);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the keyboard tip.
// Returns:
// The keyboard tip of the control.
//-----------------------------------------------------------------------
CString GetKeyboardTip() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the parameter of the control.
// Parameters:
// lpszParameter - Parameter to be set.
// Remarks:
// This method sets CString value associated with the control, use SetTag to set numeric parameter.
// See Also: SetTag, GetParameter
//-----------------------------------------------------------------------
void SetParameter(LPCTSTR lpszParameter);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the control's parameter.
// Returns:
// The parameter of the control.
// See Also: GetTag, SetParameter
//-----------------------------------------------------------------------
CString GetParameter() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the identifier of the control.
// Parameters:
// nId - Identifier to be set.
//-----------------------------------------------------------------------
void SetID(int nId);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the control's identifier.
// Returns:
// The identifier of the control.
//-----------------------------------------------------------------------
int GetID() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the index of the control.
// Returns:
// The index of the control.
//-----------------------------------------------------------------------
long GetIndex() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the control 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 control.
//-----------------------------------------------------------------------
int GetIconId() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the control help identifier.
// Parameters:
// nId - Help identifier to be set.
//-----------------------------------------------------------------------
void SetHelpId(int nId);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the help identifier.
// Returns:
// Help identifier of the control.
//-----------------------------------------------------------------------
int GetHelpId() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to begin a new group using a separator.
// Parameters:
// bBeginGroup - TRUE if the control starts a new group.
//-----------------------------------------------------------------------
virtual void SetBeginGroup(BOOL bBeginGroup);
//-----------------------------------------------------------------------
// Summary:
// Call this member to determine if the control has a separator.
// Returns:
// TRUE if the control starts a new group; otherwise FALSE.
//-----------------------------------------------------------------------
BOOL GetBeginGroup() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to enable or disable the control.
// If the control does not have xtpFlagManualUpdate flag, you must call
// the Enable member of CCmdUI in the ON_UPDATE_COMMAND_UI handler.
// Parameters:
// bEnabled - TRUE if the control is enabled.
// See Also: GetEnabled, SetChecked
//-----------------------------------------------------------------------
virtual void SetEnabled(BOOL bEnabled);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the state of the control.
// Returns:
// TRUE if the control is enabled; otherwise FALSE.
//-----------------------------------------------------------------------
BOOL GetEnabled() const;
//-----------------------------------------------------------------------
// Summary:
// This method is called when control enable state was changed
//-----------------------------------------------------------------------
virtual void OnEnabledChanged();
//-----------------------------------------------------------------------
// Summary:
// Call this member to check the control.
// If the control does not have xtpFlagManualUpdate flag, you must call
// the SetCheck member of CCmdUI in the ON_UPDATE_COMMAND_UI handler.
// Parameters:
// bChecked - TRUE if the control is checked.
// See Also: GetChecked, SetEnabled
//-----------------------------------------------------------------------
virtual void SetChecked(BOOL bChecked);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the state of the control.
// Returns:
// TRUE if the control is checked; otherwise FALSE.
//-----------------------------------------------------------------------
BOOL GetChecked() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the state of the control.
// Returns:
// TRUE if the control is selected; otherwise FALSE.
//-----------------------------------------------------------------------
virtual int GetSelected() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set focus to the control.
// Parameters:
// bFocused - TRUE to set focus
//-----------------------------------------------------------------------
virtual void SetFocused(BOOL bFocused);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the focused state of the control.
// Returns:
// TRUE if the control has focus; otherwise FALSE.
//-----------------------------------------------------------------------
virtual BOOL IsFocused() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to press the control.
// Parameters:
// bPressed - TRUE if the control is pressed.
//-----------------------------------------------------------------------
void SetPressed(BOOL bPressed);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the state of the control.
// Returns:
// TRUE if the control is pressed; otherwise FALSE.
//-----------------------------------------------------------------------
virtual BOOL GetPressed() const;
//-----------------------------------------------------------------------
// Summary:
// This member is called to set the bounding rectangle of the control.
// Parameters:
// rcControl - Bounding rectangle of the control.
//-----------------------------------------------------------------------
virtual void SetRect(CRect rcControl);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the bounding rectangle of the control.
// Returns:
// The bounding rectangle of the control.
//-----------------------------------------------------------------------
CRect GetRect() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the parent command bar.
// Returns:
// The parent command bar object.
//-----------------------------------------------------------------------
CXTPCommandBar* GetParent() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to determine if the control is visible.
// Parameters:
// dwSkipFlags - combination of XTPControlHideFlags that can be ignored
// Returns:
// TRUE if the control is visible.
// See Also: XTPControlHideFlags, GetHideFlags
//-----------------------------------------------------------------------
virtual BOOL IsVisible(DWORD dwSkipFlags = 0) const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to determine if the caption of the control is visible
// Returns:
// TRUE if the caption is visible.
//-----------------------------------------------------------------------
virtual BOOL IsCaptionVisible() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to change the state of the control.
// Parameters:
// bVisible - TRUE if the control is visible.
//-----------------------------------------------------------------------
void SetVisible(BOOL bVisible);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the parent controls collection.
// Returns:
// A CXTPControls pointer to the parent controls.
//-----------------------------------------------------------------------
CXTPControls* GetControls() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the control's type
// Returns:
// The type of the control. It can be one of the following:
// * <b>xtpControlButton</b> Indicates the control is simple button (CXTPControlButton)
// * <b>xtpControlPopup</b> Indicates the control is simple popup button. (CXTPControlPopup)
// * <b>xtpControlButtonPopup</b> Indicates the control is popup button with icon (CXTPControlPopup)
// * <b>xtpControlSplitButtonPopup</b> Indicates the control is split button popup.(CXTPControlPopup)
// * <b>xtpControlComboBox</b> Indicates the control is combo box (CXTPControlComboBox)
// * <b>xtpControlEdit</b> Indicates the control is edit control (CXTPControlEdit)
// * <b>xtpControlLabel</b> Indicates the control is label (CXTPControlLabel)
//-----------------------------------------------------------------------
XTPControlType GetType() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the flags of the control.
// Parameters:
// dwFlags - control flags.
// Remarks:
// Flags to be added or removed can be combined by using the bitwise
// OR (|) operator. It can be one or more of the following:
// * <b>xtpFlagRightAlign</b> Indicates the control is right aligned.
// * <b>xtpFlagSkipFocus</b> Indicates the control does not have focus.
// * <b>xtpFlagLeftPopup</b> Indicates the child bar should pop-up on the left.
// * <b>xtpFlagManualUpdate</b> Indicates the control is manually updated.
// * <b>xtpFlagNoMovable</b> Indicates the control's customization is disabled.
// * <b>xtpFlagControlStretched</b> Indicates the control is stretched in the parent command bar.
// See Also: GetFlags, XTPControlFlags
//-----------------------------------------------------------------------
void SetFlags(DWORD dwFlags);
//----------------------------------------------------------------------
// Summary:
// Call this member to retrieve control special flags.
// Returns:
// Controls special flags.
// See Also: SetFlags, XTPControlFlags
//----------------------------------------------------------------------
DWORD GetFlags() const;
//-----------------------------------------------------------------------
// Summary:
// This method sets the 32-bit value associated with the control.
// Parameters:
// dwTag - Contains the new value to associate with the control.
//-----------------------------------------------------------------------
void SetTag(DWORD_PTR dwTag);
//-----------------------------------------------------------------------
// Summary:
// This method retrieves the application-supplied 32-bit value
// associated with the control.
// Returns:
// The 32-bit value associated with the control.
//-----------------------------------------------------------------------
DWORD_PTR GetTag() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to compare controls.
// Parameters:
// pOther - The control need compare with.
// Returns:
// TRUE if the controls are identical.
//-----------------------------------------------------------------------
virtual BOOL Compare(CXTPControl* pOther);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the child command bar.
// Returns:
// A pointer to the child command bar.
//-----------------------------------------------------------------------
virtual CXTPCommandBar* GetCommandBar() const;
//----------------------------------------------------------------------
// Summary:
// Call this member function to enable or disable closing of the
// sub menus when a control is clicked in the menu.
// Parameters:
// bCloseOnClick - TRUE if the sub menu will close when a control
// is clicked, FALSE if the menu will remain open
// after a control is clicked.
// See Also: GetCloseSubMenuOnClick
//----------------------------------------------------------------------
void SetCloseSubMenuOnClick(BOOL bCloseOnClick);
//----------------------------------------------------------------------
// Summary:
// Call this member function to determine if sub menus will close
// as soon as a control is clicked.
// Returns:
// TRUE if the sub menu will close when a control is clicked, FALSE
// if the menu will remain open after a control is clicked.
// See Also: SetCloseSubMenuOnClick
//----------------------------------------------------------------------
BOOL GetCloseSubMenuOnClick() const;
//-----------------------------------------------------------------------
// Summary:
// Call this method to make button send WM_COMMAND messages while it pressed by user
// Parameters:
// nExecuteOnPressInterval - Ms delay between each message.
// See Also: GetExecuteOnPressInterval
//-----------------------------------------------------------------------
void SetExecuteOnPressInterval(int nExecuteOnPressInterval);
//-----------------------------------------------------------------------
// Summary:
// Determines if SetExecuteOnPressInterval was called
//-----------------------------------------------------------------------
int GetExecuteOnPressInterval() const;
//-----------------------------------------------------------------------
// Summary: Returns the ribbon group the control belongs to.
// Returns: If the control belongs to a ribbon group, then the CXTPRibbonGroup
// that the control belongs to is returned. If the control does not
// belong to a ribbon group NULL is returned.
// See Also: CXTPRibbonBar::RebuildControls
//-----------------------------------------------------------------------
CXTPRibbonGroup* GetRibbonGroup() const;
//-----------------------------------------------------------------------
// Summary:
// Determines if control need to draw its background
// Returns:
// TRUE if paint manager must skip filling background of control
//-----------------------------------------------------------------------
virtual BOOL IsTransparent() const { return FALSE;}
public:
//----------------------------------------------------------------------
// Summary:
// This method is called to hide the control.
// Parameters:
// bHide - TRUE to set hide state.
//----------------------------------------------------------------------
void SetHideWrap(BOOL bHide);
//----------------------------------------------------------------------
// Summary:
// This method is called to hide the control.
// Parameters:
// dwFlags - Reasons to hide.
// Remarks:
// HideFlags will tell how a control was hidden if it is hidden
// or why it is not visible. Most of these flags are read only
// and should not be set be the developer.
// There is only one situation where you should set these flags
// manually. The xtpHideCustomize is the only flag that should
// ever be manually set. you would do this when you want the
// control to initially be hidden but still exist in customize
// popup of toolbar. This will cause the control to appear in
// the Add and Remove Buttons popup without a check mark indicating
// that it is currently hidden. This flag will automatically
// be set when a command is hidden this way.
// See Also: XTPControlHideFlags
//----------------------------------------------------------------------
virtual void SetHideFlags(DWORD dwFlags);
//----------------------------------------------------------------------
// Summary:
// Call this member to set/remove hide flags.
// Parameters:
// dwFlag - XTPControlHideFlags type of flag to be set/remove
// bSet - TRUE to set flag; FALSE to remove.
// Remarks:
// SetHideFlag will tell how a control was hidden if it is hidden
// or why it is not visible. Most of these flags are read only
// and should not be set be the developer.
// Returns:
// TRUE if flags was changed
// See Also: XTPControlHideFlags, SetHideFlags
//----------------------------------------------------------------------
BOOL SetHideFlag(XTPControlHideFlags dwFlag, BOOL bSet);
//----------------------------------------------------------------------
// Summary:
// Call this method to retrieve hidden flags.
// Returns:
// Flags of the control visibility.
// Remarks:
// HideFlags will tell how a control was hidden if it is hidden
// or why it is not visible. Most of these flags are read only
// and should not be set be the developer.
// There is only one situation where you should set these flags
// manually. The xtpHideCustomize is the only flag that should
// ever be manually set. you would do this when you want the
// control to initially be hidden but still exist in customize
// popup of toolbar. This will cause the control to appear in
// the Add and Remove Buttons popup without a check mark indicating
// that it is currently hidden. This flag will automatically
// be set when a command is hidden this way.
// See Also: XTPControlHideFlags
//----------------------------------------------------------------------
DWORD GetHideFlags() const;
//----------------------------------------------------------------------
// Summary:
// Call this method to retrieve the position of the control's row.
// Returns:
// Bounding rectangle of the control's row.
//----------------------------------------------------------------------
CRect GetRowRect() const;
//----------------------------------------------------------------------
// Summary:
// Call this method to retrieve if the control is wrapped.
// Returns:
// TRUE if the control is wrapped; otherwise returns FALSE
// See Also: SetWrap
//----------------------------------------------------------------------
BOOL GetWrap() const;
//----------------------------------------------------------------------
// Summary:
// Call this method to set the row of the control.
// Parameters:
// rcRow - Rectangle of the control's row.
//----------------------------------------------------------------------
void SetRowRect(CRect rcRow);
//----------------------------------------------------------------------
// Summary:
// Call this member to set the wrap.
// Parameters:
// bWrap - TRUE to set wrap.
// See Also: GetWrap
//----------------------------------------------------------------------
void SetWrap(BOOL bWrap);
//----------------------------------------------------------------------
// Summary:
// Call this member to retrieve if the control is expanded.
// Returns:
// TRUE if the control is expanded; otherwise returns FALSE
//----------------------------------------------------------------------
BOOL GetExpanded() const;
//----------------------------------------------------------------------
// Summary:
// Call this member to determine if the mouse pointer is over
// the control.
// Returns:
// TRUE if the mouse cursor is over the control; otherwise returns
// FALSE
//----------------------------------------------------------------------
BOOL IsCursorOver() const;
//----------------------------------------------------------------------
// Summary:
// This method is called when the control is executed.
//----------------------------------------------------------------------
virtual void OnExecute();
//----------------------------------------------------------------------
// Summary:
// This method is called to determine the size of the control.
// Parameters:
// pDC - Pointer to a valid device context
// Returns:
// Size of the control.
//----------------------------------------------------------------------
virtual CSize GetSize(CDC* pDC);
//----------------------------------------------------------------------
// Summary:
// This method is called to draw the control.
// Parameters:
// pDC - Pointer to a valid device context.
//----------------------------------------------------------------------
virtual void Draw(CDC* pDC);
//----------------------------------------------------------------------
// Summary:
// This method is called before recalculating the parent command
// bar size to calculate the dimensions of the control.
// Parameters:
// dwMode - Flags used to determine the height and width of the
// dynamic command bar. See Remarks section for a list of
// values.
// Remarks:
// The following predefined flags are used to determine the height and
// width of the dynamic command bar. Use the bitwise-OR (|) operator to
// combine the flags.<p/>
//
// * <b>LM_STRETCH</b> Indicates whether the command bar should be
// stretched to the size of the frame. Set if the bar is
// not a docking bar (not available for docking). Not set
// when the bar is docked or floating (available for
// docking). If set, LM_STRETCH returns dimensions based
// on the LM_HORZ state. LM_STRETCH works similarly to
// the the bStretch parameter used in CalcFixedLayout;
// see that member function for more information about
// the relationship between stretching and orientation.
// * <b>LM_HORZ</b> Indicates that the bar is horizontally or
// vertically oriented. Set if the bar is horizontally
// oriented, and if it is vertically oriented, it is not
// set. LM_HORZ works similarly to the the bHorz
// parameter used in CalcFixedLayout; see that member
// function for more information about the relationship
// between stretching and orientation.
// * <b>LM_MRUWIDTH</b> Most Recently Used Dynamic Width. Uses the
// remembered most recently used width.
// * <b>LM_HORZDOCK</b> Horizontal Docked Dimensions. Returns the
// dynamic size with the largest width.
// * <b>LM_VERTDOCK</b> Vertical Docked Dimensions. Returns the dynamic
// size with the largest height.
// * <b>LM_COMMIT</b> Resets LM_MRUWIDTH to current width of
// floating command bar.
//
// The framework calls this member function to calculate the dimensions
// of a dynamic command bar.<p/>
//
// Override this member function to provide your own layout in classes
// you derive from CXTPControl. XTP classes derived from CXTPControl,
// such as CXTPControlComboBox, override this member function to provide
// their own implementation.
// See Also:
// CXTPControlComboBox, CXTPControlCustom, CXTPControlEdit,
// CXTPControlWindowList, CXTPControlWorkspaceActions, CXTPControlToolbars,
// CXTPControlOleItems, CXTPControlRecentFileList, CXTPControlSelector,
// CXTPControlListBox
//----------------------------------------------------------------------
virtual void OnCalcDynamicSize(DWORD dwMode);
//----------------------------------------------------------------------
// Summary:
// Call this method to redraw the parent command bar.
//----------------------------------------------------------------------
void DelayRedrawParent();
//----------------------------------------------------------------------
// Summary:
// Call this method to recalculate the parent command bar size.
//----------------------------------------------------------------------
void DelayLayoutParent();
//----------------------------------------------------------------------
// Summary:
// Call this method to set the category of the control.
// Parameters:
// lpszCategory - Category of the control.
//----------------------------------------------------------------------
void SetCategory(LPCTSTR lpszCategory);
//----------------------------------------------------------------------
// Summary:
// Call this method to retrieve the category of the control.
// Returns:
// Category of the control.
//----------------------------------------------------------------------
CString GetCategory() const;
//----------------------------------------------------------------------
// Summary:
// Call this method to retrieve the image manager.
// Returns:
// A pointer to a CXTPImageManager object.
//----------------------------------------------------------------------
CXTPImageManager* GetImageManager() const;
//----------------------------------------------------------------------
// Summary:
// Call this method to retrieve the paint manager.
// Returns:
// A pointer to a CXTPPaintManager object.
//----------------------------------------------------------------------
CXTPPaintManager* GetPaintManager() const;
//----------------------------------------------------------------------
// Summary:
// Call this method to retrieve the image of the control.
// Parameters:
// nWidth - Width of the image to retrieve.
// Returns:
// A pointer to a CXTPImageManagerIcon object.
//----------------------------------------------------------------------
virtual CXTPImageManagerIcon* GetImage(int nWidth = 16) const;
//----------------------------------------------------------------------
// Summary:
// Call this method to assign a document template to the control.
// Assigned control will be shown only when the child MDI window is activated
// with the assigned document template.
// Parameters:
// nIDResource - document template identifier.
// See Also: AssignDocTemplate
//----------------------------------------------------------------------
void AssignDocTemplate(UINT nIDResource);
//----------------------------------------------------------------------
// Summary:
// Call this method to exclude the document template from control.
// Control will be shown only when the child MDI window is activated
// with the document template different from excluded.
// Parameters:
// nIDResource - document template identifier.
// See Also: ExcludeDocTemplate
//----------------------------------------------------------------------
void ExcludeDocTemplate(UINT nIDResource);
//----------------------------------------------------------------------
// Summary:
// Call this method to retrieve if control is default menu item.
// Returns:
// TRUE if control is default menu item.
// See Also: SetItemDefault
//----------------------------------------------------------------------
BOOL IsItemDefault() const;
//----------------------------------------------------------------------
// Summary:
// Call this method to set the default menu item.
// Parameters:
// bDefault - TRUE to set control default menu item.
// Remarks:
// A default menu item will appear in bold text.
// See Also: IsItemDefault
//----------------------------------------------------------------------
void SetItemDefault(BOOL bDefault);
//----------------------------------------------------------------------
// Summary:
// Call this method to determine if control is temporary.
// Temporary controls will not be saved to the system registry when
// the application is closed (If the CommandBars layout is saved).
// Returns:
// TRUE if control is temporary.
//----------------------------------------------------------------------
BOOL IsTemporary() const;
//----------------------------------------------------------------------
// Summary:
// Call this member to reset the icon and caption of a control
// to its default settings before it was customized by the user.
// Remarks:
// The caption and icon of a control is customized while in customization
// mode.
// See Also:
// SetCustomIcon, m_strCustomCaption
//----------------------------------------------------------------------
void Reset();
//----------------------------------------------------------------------
// Summary:
// Call this member to load a string from a STRINGTABLE resource
// to set the tooltip and description of a control.
// Parameters:
// lpszPrompt - String from resource file that contains the
// tooltip and description of the item. The Caption
// will be set to use the tooltip text. The tooltip
// and description must be separated by "\n" if both
// are included. You can omit the description and
// both the tooltip and description will be set to
// the same value.
// Remarks:
// Resource strings are in the format "Description\nToolTip".
//
// Note: The caption is set to the value of the tooltip when this
// member is called.
// See Also: SetCaption, SetDescription, SetTooltip
//----------------------------------------------------------------------
void SetPrompt(LPCTSTR lpszPrompt);
// -------------------------------------------------------------------
// Summary:
// Call this member to retrieve CXTPControl from CCmdUI structure.
// Parameters:
// pCmdUI : Address of a CCmdUI structure.
// Returns:
// CXTPControl from CCmdUI structure.
// -------------------------------------------------------------------
static CXTPControl* AFX_CDECL FromUI(CCmdUI* pCmdUI);
//-----------------------------------------------------------------------
// Summary:
// Call this member to set a custom icon to this control.
// Parameters:
// hIcon - HICON object containing icon to set to control.
// See Also: Reset
//-----------------------------------------------------------------------
void SetCustomIcon(HICON hIcon);
//-----------------------------------------------------------------------
// Summary:
// Reads or writes this object from or to an archive.
// Parameters:
// pPX - A CXTPPropExchange object to serialize to or from.
//----------------------------------------------------------------------
virtual void DoPropExchange(CXTPPropExchange* pPX);
//----------------------------------------------------------------------
// Summary:
// This method is called when the user activate control using its underline.
//----------------------------------------------------------------------
virtual void OnUnderlineActivate();
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the control's popup state.
// Returns:
// TRUE if the control is a popup.
//-----------------------------------------------------------------------
virtual BOOL GetPopuped() const;
//----------------------------------------------------------------------
// Summary:
// This method is called to redraw the parent command bar.
// Parameters:
// bAnimate - TRUE to animate changes
//----------------------------------------------------------------------
void RedrawParent(BOOL bAnimate = TRUE);
//----------------------------------------------------------------------
// Summary:
// This method is called to sent message code to parent site window.
// Parameters:
// code - Message to be sent.
// pNM - Structure that is passed as a parameter in the CBN_XTP_EXECUTE message.
// pSite - Parent window of commandbar.
// Returns:
// Results.
//----------------------------------------------------------------------
LRESULT NotifySite(UINT code);
LRESULT NotifySite(UINT code, NMXTPCONTROL* pNM); // <combine CXTPControl::NotifySite@UINT>
LRESULT NotifySite(CWnd* pSite, UINT code, NMXTPCONTROL* pNM); // <combine CXTPControl::NotifySite@UINT>
//----------------------------------------------------------------------
// Summary:
// Call this method to manually assign action for control.
// Parameters:
// pAction - Action to assign.
// See Also:
// CXTPControlAction, GetAction
//----------------------------------------------------------------------
virtual void SetAction(CXTPControlAction* pAction);
//----------------------------------------------------------------------
// Summary:
// Call this method to retrieve action associated with control
// See Also:
// CXTPControlAction, SetAction
//----------------------------------------------------------------------
CXTPControlAction* GetAction() const;
//-------------------------------------------------------------------------
// Summary:
// This method is called when paint manager theme was changed
//-------------------------------------------------------------------------
virtual void OnThemeChanged();
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the width of the control
// Parameters:
// nWidth - The width of the control
//-----------------------------------------------------------------------
virtual void SetWidth(int nWidth);
//-----------------------------------------------------------------------
// Summary:
// Call this member to set the height of the control
// Parameters:
// nHeight - The height of the control
//-----------------------------------------------------------------------
virtual void SetHeight(int nHeight);
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the width of the control
// Returns:
// Width of the control in pixels
// See Also: GetHeight
//-----------------------------------------------------------------------
int GetWidth() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member to get the height of the control
// Returns:
// Height of the control in pixels
// See Also: GetWidth
//-----------------------------------------------------------------------
int GetHeight() const;
//-----------------------------------------------------------------------
// Summary:
// This method is called to determine if control has Vista DWM transparent area
//-----------------------------------------------------------------------
BOOL HasDwmCompositedRect() const;
//-----------------------------------------------------------------------
// Summary:
// Call this function to get the size of the command bar button.
// Returns:
// The width and height values of the command bar button.
//-----------------------------------------------------------------------
virtual CSize GetButtonSize() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member function to get the size of a toolbar icon.
// See Also:
// GetButtonSize
//-----------------------------------------------------------------------
virtual CSize GetIconSize() const;
//-----------------------------------------------------------------------
// Summary:
// Call this member function to set the size of a icon for individual control.
// Parameters:
// szIcon - Desired size of icon.
// See Also:
// GetIconSize, GetButtonSize
//-----------------------------------------------------------------------
void SetIconSize(CSize szIcon);
//----------------------------------------------------------------------
// Summary:
// This method is called to copy the control.
// Parameters:
// pControl - Points to a source CXTPControl object.
// bRecursive - TRUE to copy recursively.
//----------------------------------------------------------------------
virtual void Copy(CXTPControl* pControl, BOOL bRecursive = FALSE);
//----------------------------------------------------------------------
// Summary:
// This method is called when the user clicks the control.
// Parameters:
// bKeyboard - TRUE if the control is selected using the keyboard.
// pt - Mouse cursor position.
//----------------------------------------------------------------------
virtual void OnClick(BOOL bKeyboard = FALSE, CPoint pt = CPoint(0, 0));
//----------------------------------------------------------------------
// Summary:
// This method is called to determine if control can be reposition in customize mode.
// See Also:
// xtpFlagNoMovable
//----------------------------------------------------------------------
virtual BOOL IsCustomizeMovable() const;
protected:
//----------------------------------------------------------------------
// Summary:
// This method is called to check if control accept focus
// See Also: SetFocused, IsFocused
//----------------------------------------------------------------------
virtual BOOL IsFocusable() const;
//----------------------------------------------------------------------
// Summary:
// This method is called to assign the order of the control in
// the controls list.
// Parameters:
// nIndex - Index of the control.
//----------------------------------------------------------------------
void SetIndex(int nIndex) { m_nIndex = nIndex; }
//----------------------------------------------------------------------
// Summary:
// This method is called to assign expanded state to the control.
// Parameters:
// bExpanded - TRUE if the control is expanded.
//----------------------------------------------------------------------
void SetExpanded(BOOL bExpanded);
//----------------------------------------------------------------------
// Summary:
// This method is called when a non-system key is pressed.
// Parameters:
// nChar - Specifies the virtual key code of the given key.
// lParam - Specifies additional message-dependent information.
// Returns:
// TRUE if key handled, otherwise returns FALSE
//----------------------------------------------------------------------
virtual BOOL OnHookKeyDown(UINT nChar, LPARAM lParam);
//----------------------------------------------------------------------
// Summary:
// This method is called when user rotates the mouse wheel.
// Parameters:
// nFlags - Indicates whether various virtual keys are down.
// zDelta - Indicates distance rotated.
// point - Specifies the x- and y coordinate of the cursor.
// Returns:
// TRUE if key handled, otherwise returns FALSE
//----------------------------------------------------------------------
virtual BOOL OnHookMouseWheel(UINT nFlags, short zDelta, CPoint point);
//----------------------------------------------------------------------
// Summary:
// This method is called to assign a parent command bar object.
// Parameters:
// pParent - Points to a CXTPCommandBar object
//----------------------------------------------------------------------
virtual void SetParent(CXTPCommandBar* pParent) { m_pParent = pParent;}
//----------------------------------------------------------------------
// Summary:
// The ScreenToClient function converts the screen coordinates
// of a specified point on the screen
// Parameters:
// point - Pointer to a CPoint object that specifies the screen
// coordinates to be converted.
//----------------------------------------------------------------------
void ScreenToClient(CPoint* point);
//----------------------------------------------------------------------
// Summary:
// This helper method is called when the user clicks to the toolbar's
// button.
// Parameters:
// rcActiveRect - Rectangle of the control.
//----------------------------------------------------------------------
void ClickToolBarButton(CRect rcActiveRect = CRect(0, 0, 0, 0));
//----------------------------------------------------------------------
// Summary:
// This method is called to popup the control.
// Parameters:
// bPopup - TRUE to set popup.
// Returns:
// TRUE if successful; otherwise returns FALSE
//----------------------------------------------------------------------
virtual BOOL OnSetPopup(BOOL bPopup);
//----------------------------------------------------------------------
// Summary:
// This member is called when the user releases the left mouse button.
// Parameters:
// point - Specifies the x- and y coordinate of the cursor.
//----------------------------------------------------------------------
virtual void OnLButtonUp(CPoint point);
//----------------------------------------------------------------------
// Summary:
// This member is called when the user presses the left mouse button down.
// Parameters:
// point - Specifies the x- and y coordinate of the cursor.
//----------------------------------------------------------------------
virtual void OnLButtonDown(CPoint point);
//----------------------------------------------------------------------
// Summary:
// This member is called when the user press the right mouse button.
// Parameters:
// point - Specifies the x- and y coordinate of the cursor.
//----------------------------------------------------------------------
virtual BOOL OnRButtonDown(CPoint point);
//----------------------------------------------------------------------
// Summary:
// This member is called when the user releases the right mouse button.
// Parameters:
// point - Specifies the x- and y coordinate of the cursor.
//----------------------------------------------------------------------
virtual BOOL OnRButtonUp(CPoint point);
//----------------------------------------------------------------------
// Summary:
// This member is called when the user double-clicks the left mouse button.
// Parameters:
// point - Specifies the x- and y coordinates of the cursor.
// Returns:
// TRUE if successful; otherwise returns FALSE
//----------------------------------------------------------------------
virtual BOOL OnLButtonDblClk(CPoint point);
//----------------------------------------------------------------------
// Summary:
// This member is called when the mouse cursor moves.
// Parameters:
// point - Specifies the x- and y coordinate of the cursor.
//----------------------------------------------------------------------
virtual void OnMouseMove(CPoint point);
//----------------------------------------------------------------------
// Summary:
// Called after the mouse hovers over the control.
//----------------------------------------------------------------------
virtual void OnMouseHover();
//----------------------------------------------------------------------
// Summary:
// This method is called when the control becomes selected.
// Parameters:
// bSelected - TRUE if the control becomes selected.
// Returns:
// TRUE if successful; otherwise returns FALSE
//----------------------------------------------------------------------
virtual BOOL OnSetSelected(int bSelected);
//----------------------------------------------------------------------
// Summary:
// Call this method to determine if command bars is in customize
// mode.
// Returns:
// TRUE if command bars is in Customize mode; otherwise returns
// FALSE
//----------------------------------------------------------------------
BOOL IsCustomizeMode() const;
//----------------------------------------------------------------------
// Summary:
// This member is called when the user starts to drag the control in customize mode.
// Parameters:
// point - Specifies the x- and y coordinate of the cursor.
// See Also: IsCustomizeMode, CustomizeStartResize
//----------------------------------------------------------------------
virtual void CustomizeStartDrag(CPoint point);
//----------------------------------------------------------------------
// Summary:
// This method is called when user starts resize control in customize mode
// Parameters:
// point - Specifies the x- and y coordinate of the cursor.
// Returns:
// TRUE if control process this event.
// See Also: IsCustomizeMode, CustomizeStartDrag, GetCustomizeMinWidth
//----------------------------------------------------------------------
virtual BOOL CustomizeStartResize(CPoint point);
//----------------------------------------------------------------------
// Summary:
// This member is called when the user moves the mouse over the
// control.
// Parameters:
// pDataObject - Points to a CXTPControl object
// point - Mouse position.
// dropEffect - DROPEFFECT enumerator.
//----------------------------------------------------------------------
virtual void OnCustomizeDragOver(CXTPControl* pDataObject, CPoint point, DROPEFFECT& dropEffect);
//----------------------------------------------------------------------
// Summary:
// This member checks if the user can drop the control.
// Parameters:
// pCommandBar - Points to a CXTPCommandBar object
// point - Mouse position.
// dropEffect - DROPEFFECT enumerator.
// Returns:
// TRUE if successful, otherwise returns FALSE
//----------------------------------------------------------------------
virtual BOOL IsCustomizeDragOverAvail(CXTPCommandBar* pCommandBar, CPoint point, DROPEFFECT& dropEffect);
//----------------------------------------------------------------------
// Summary:
// This member checks if the user can resize control.
// Returns:
// TRUE if resize available.
//----------------------------------------------------------------------
virtual BOOL IsCustomizeResizeAllow() const;
//----------------------------------------------------------------------
// Summary:
// Retrieves available minimum width of control.
// Remarks:
// This method is called in CustomizeStartResize to retrieve dimension of available rectangles
// of resized control.
// Returns:
// Returns zero by default.
// See Also: CXTPControlComboBox::GetCustomizeMinWidth, CXTPControlEdit::GetCustomizeMinWidth
//----------------------------------------------------------------------
virtual int GetCustomizeMinWidth() const;
//----------------------------------------------------------------------
// Summary:
// Retrieves available minimum height of the control.
// Remarks:
// This method is called in CustomizeStartResize to retrieve dimension of available rectangles
// of resized control.
// Returns:
// Returns zero by default.
// See Also: CXTPControlComboBox::GetCustomizeMinHeight, CXTPControlEdit::GetCustomizeMinHeight
//----------------------------------------------------------------------
virtual int GetCustomizeMinHeight() const;
//----------------------------------------------------------------------
// Summary:
// This member is called when the mouse cursor moves in customized mode
// Parameters:
// point - Specifies the x- and y coordinate of the cursor.
//----------------------------------------------------------------------
void OnCustomizeMouseMove(CPoint point);
//-------------------------------------------------------------------------
// Summary:
// This virtual method is called in idle-time processing
//-------------------------------------------------------------------------
virtual void OnIdleUpdate();
//-------------------------------------------------------------------------
// Summary:
// This method is called when control was removed from parent controls collection
//-------------------------------------------------------------------------
virtual void OnRemoved();
//-----------------------------------------------------------------------
// Input: point - Specifies the x- and y coordinate of the cursor.
// These coordinates are always relative to the
// upper-left corner of the window
// pTI - A pointer to a TOOLINFO structure.
// Summary: The framework calls this member function to determine
// whether a point is in the bounding rectangle of the
// specified tool.
// Returns: If the tooltip control was found, the window control ID. If
// the tooltip control was not found, -1.
//-----------------------------------------------------------------------
virtual INT_PTR OnToolHitTest(CPoint point, TOOLINFO* pTI) const;
protected:
//-----------------------------------------------------------------------
// Summary:
// This method is called from LoadCommandBars
// to restore controls and its child commandbars
// Parameters:
// pCommandBarList - CommandBars collection contains all commandbars was restored
// See Also: GenerateCommandBarList
//-----------------------------------------------------------------------
virtual void RestoreCommandBarList(CXTPCommandBarList* pCommandBarList);
//-----------------------------------------------------------------------
// Summary:
// This method is called from SaveCommandBars
// to save all child commandbars
// Parameters:
// nID - Current Identifier counter
// pCommandBarList - List of saved commandbars
// pParam - Serialize parameters.
// See Also: RestoreCommandBarList
//-----------------------------------------------------------------------
virtual void GenerateCommandBarList(DWORD& nID, CXTPCommandBarList* pCommandBarList, XTP_COMMANDBARS_PROPEXCHANGE_PARAM* pParam);
//-----------------------------------------------------------------------
// Summary:
// This method is called when action property was changed
// Parameters:
// nProperty - Property of the action
// See Also: OnActionChanging
//-----------------------------------------------------------------------
virtual void OnActionChanged(int nProperty);
//-----------------------------------------------------------------------
// Summary:
// This method is called when action property is about to be changed
// Parameters:
// nProperty - Property of the action
// See Also: OnActionChanged
//-----------------------------------------------------------------------
virtual void OnActionChanging(int nProperty);
protected:
//-------------------------------------------------------------------------
// Summary: This method is called when the control's caption is changed
//-------------------------------------------------------------------------
virtual void OnCaptionChanged();
protected:
//{{AFX_CODEJOCK_PRIVATE
virtual HRESULT GetAccessibleParent(IDispatch** ppdispParent);
virtual HRESULT GetAccessibleDescription(VARIANT varChild, BSTR* pszDescription);
virtual HRESULT GetAccessibleChildCount(long* pcountChildren);
virtual HRESULT GetAccessibleChild(VARIANT varChild, IDispatch** ppdispChild);
virtual HRESULT GetAccessibleName(VARIANT varChild, BSTR* pszName);
virtual HRESULT GetAccessibleRole(VARIANT varChild, VARIANT* pvarRole);
virtual HRESULT AccessibleLocation(long *pxLeft, long *pyTop, long *pcxWidth, long* pcyHeight, VARIANT varChild);
virtual HRESULT AccessibleHitTest(long xLeft, long yTop, VARIANT* pvarChild);
virtual HRESULT GetAccessibleState(VARIANT varChild, VARIANT* pvarState);
virtual CCmdTarget* GetAccessible();
virtual HRESULT GetAccessibleDefaultAction(VARIANT varChild, BSTR* pszDefaultAction);
virtual HRESULT AccessibleDoDefaultAction(VARIANT varChild);
virtual HRESULT AccessibleSelect(long flagsSelect, VARIANT varChild);
virtual HRESULT GetAccessibleKeyboardShortcut(VARIANT /*varChild*/, BSTR* /*pszKeyboardShortcut*/);
DECLARE_INTERFACE_MAP()
virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
//}}AFX_CODEJOCK_PRIVATE
private:
void OnInvertTracker(CDC* pDC, CRect rect);
BOOL NeedPressOnExecute() const;
protected:
DWORD_PTR m_nTag; // Control tag.
int m_nIndex; // Index of the control.
int m_nId; // Identifier of the control.
int m_nIconId; // Identifier of the control's image.
int m_nHelpId; // Help identifier
int m_nCustomIconId; // Identifier of the control's custom image.
BOOL m_bWrap; // TRUE if the control is wrapped.
BOOL m_bBeginGroup; // TRUE if the control starts new group.
BOOL m_bEnabled; // TRUE if the control is enabled.
BOOL m_bChecked; // TRUE if the control is checked.
BOOL m_bSelected; // TRUE if the control is selected.
BOOL m_bPressed; // TRUE if the control is pushed.
BOOL m_bTemporary; // TRUE if the control is temporary.
CRect m_rcRow; // Bounding rectangle of the control's row.
CRect m_rcControl; // Bounding rectangle of the control.
DWORD m_dwHideFlags; // Hidden flags.
DWORD m_dwFlags; // Flags of the control.
CString m_strCaption; // Caption of the control.
CString m_strCustomCaption; // User defined caption.
CString m_strShortcutText; // Shortcut text.
CString m_strShortcutTextAuto; // Shortcut text.
CString m_strTooltipText; // Tooltip text.
CString m_strDescriptionText; // Description text.
CString m_strParameter; // Parameter text.
CString m_strKeyboardTip; // Keyboard tip
CXTPControls* m_pControls; // Parent control collection
XTPControlType m_controlType; // Type of the control.
CXTPCommandBar* m_pParent; // The Parent command bar.
BOOL m_bExpanded; // TRUE if the control is expanded.
CString m_strCategory; // Category of the control.
BOOL m_bDefaultItem; // TRUE if the item is default popup item;
CDocTemplateMap m_mapDocTemplatesAssigned; // Assigned templates.
CDocTemplateMap m_mapDocTemplatesExcluded; // Excluded templates.
XTPButtonStyle m_buttonStyle; // Button Style.
XTPButtonStyle m_buttonCustomStyle; // User defined style of button.
XTPButtonStyle m_buttonRibbonStyle; // User defined style of button.
BOOL m_bCloseSubMenuOnClick; // TRUE is sub-menus are closed as soon as a control is clicked.
CXTPRibbonGroup* m_pRibbonGroup; // Ribbon group of control
CXTPControlAction* m_pAction; // Action of the control.
int m_nWidth; // Width of the control.
int m_nHeight; // Height of the control.
int m_nExecuteOnPressInterval; // Delay between each message when control is pressed.
CSize m_szIcon; // The size of the icon used for the control.
private:
DECLARE_XTP_CONTROL(CXTPControl)
friend class CXTPControls;
friend class CXTPCommandBar;
friend class CXTPToolBar;
friend class CXTPPopupBar;
friend class CXTPCustomizeSheet;
friend class CXTPCustomizeDropSource;
friend class CXTPRibbonGroup;
friend class CXTPRibbonGroups;
friend class CXTPRibbonBar;
friend class CXTPRibbonControls;
friend class CXTPControlAction;
friend class CXTPRibbonQuickAccessControls;
};
//////////////////////////////////////////////////////////////////////////
AFX_INLINE long CXTPControl::GetIndex() const {
return m_nIndex;
}
AFX_INLINE void CXTPControl::SetShortcutText(LPCTSTR lpszShortcutText) {
m_strShortcutText = lpszShortcutText;
}
AFX_INLINE CString CXTPControl::GetShortcutText() const {
return !m_strShortcutText.IsEmpty() ? m_strShortcutText :
m_pAction && !m_pAction->GetShortcutText().IsEmpty() ? m_pAction->GetShortcutText() : m_strShortcutTextAuto;
}
AFX_INLINE void CXTPControl::SetDescription(LPCTSTR lpszDescription) {
m_strDescriptionText = lpszDescription;
}
AFX_INLINE CString CXTPControl::GetDescription() const {
return !m_strDescriptionText.IsEmpty() ? m_strDescriptionText : m_pAction ? m_pAction->GetDescription() : _T("");
}
AFX_INLINE CString CXTPControl::GetTooltip() const {
return !m_strTooltipText.IsEmpty() ? m_strTooltipText : m_pAction ? m_pAction->GetTooltip() : _T("");
}
AFX_INLINE void CXTPControl::SetTooltip(LPCTSTR lpszTooltip) {
m_strTooltipText = lpszTooltip;
}
AFX_INLINE CString CXTPControl::GetCaption() const {
return !m_strCustomCaption.IsEmpty() ? m_strCustomCaption : !m_strCaption.IsEmpty() ? m_strCaption : m_pAction ? m_pAction->GetCaption() : _T("");
}
AFX_INLINE void CXTPControl::SetParameter(LPCTSTR lpszParameter) {
m_strParameter = lpszParameter;
}
AFX_INLINE CString CXTPControl::GetParameter() const {
return m_strParameter;
}
AFX_INLINE int CXTPControl::GetID () const {
return m_nId;
}
AFX_INLINE void CXTPControl::SetIconId(int nId) {
if (m_nIconId != nId) {m_nIconId = nId; RedrawParent(FALSE);}
}
AFX_INLINE int CXTPControl::GetIconId() const {
return m_nCustomIconId != 0 ? m_nCustomIconId : m_nIconId > 0 ? m_nIconId : m_pAction ? m_pAction->GetIconId() : m_nId;
}
AFX_INLINE void CXTPControl::SetHelpId(int nId) {
m_nHelpId = nId;
}
AFX_INLINE int CXTPControl::GetHelpId() const {
return m_nHelpId > 0 ? m_nHelpId : m_pAction ? m_pAction->GetHelpId() : m_nId;
}
AFX_INLINE void CXTPControl::SetBeginGroup(BOOL bBeginGroup) {
if (m_bBeginGroup != bBeginGroup) {m_bBeginGroup = bBeginGroup; DelayLayoutParent();}
}
AFX_INLINE BOOL CXTPControl::GetBeginGroup() const {
return m_bBeginGroup;
}
AFX_INLINE void CXTPControl::OnEnabledChanged() {
}
AFX_INLINE void CXTPControl::SetEnabled(BOOL bEnabled) {
if (m_bEnabled != bEnabled) {m_bEnabled = bEnabled; OnEnabledChanged(); RedrawParent();}
}
AFX_INLINE BOOL CXTPControl::GetChecked() const {
return m_bChecked == -1 && m_pAction ? m_pAction->GetChecked() : m_bChecked;
}
AFX_INLINE void CXTPControl::SetChecked(BOOL bChecked) {
if (m_bChecked != bChecked) {m_bChecked = bChecked; RedrawParent();}
}
AFX_INLINE int CXTPControl::GetSelected() const {
return m_bSelected;
}
AFX_INLINE BOOL CXTPControl::GetPressed() const {
return m_bPressed;
}
AFX_INLINE void CXTPControl::SetPressed(BOOL bPressed) {
m_bPressed = bPressed;
}
AFX_INLINE void CXTPControl::SetRect(CRect rcControl) {
m_rcControl = rcControl;
}
AFX_INLINE CRect CXTPControl::GetRect() const {
return m_rcControl;
}
AFX_INLINE CXTPCommandBar* CXTPControl::GetParent() const {
return m_pParent;
}
AFX_INLINE BOOL CXTPControl::IsVisible(DWORD dwSkipFlags) const {
if (m_pAction && !m_pAction->IsVisible()) return FALSE;
return (m_dwHideFlags & ~dwSkipFlags) == xtpNoHide;
}
AFX_INLINE void CXTPControl::SetHideFlags(DWORD dwFlags) {
m_dwHideFlags = dwFlags;
}
AFX_INLINE BOOL CXTPControl::SetHideFlag(XTPControlHideFlags dwFlag, BOOL bHide) {
DWORD dwHideFlags = m_dwHideFlags;
if (bHide) SetHideFlags (m_dwHideFlags | dwFlag); else SetHideFlags(m_dwHideFlags & ~dwFlag);
return dwHideFlags != m_dwHideFlags;
}
AFX_INLINE void CXTPControl::SetHideWrap(BOOL bHide) {
SetHideFlag(xtpHideWrap, bHide);
}
AFX_INLINE DWORD CXTPControl::GetHideFlags() const {
return m_dwHideFlags;
}
AFX_INLINE CRect CXTPControl::GetRowRect() const {
return m_rcRow;
}
AFX_INLINE void CXTPControl::SetRowRect(CRect rcRow) {
m_rcRow = rcRow;
}
AFX_INLINE BOOL CXTPControl::GetWrap() const {
return m_bWrap;
}
AFX_INLINE void CXTPControl::SetWrap(BOOL bWrap) {
m_bWrap = bWrap;
}
AFX_INLINE CXTPControls* CXTPControl::GetControls() const {
return m_pControls;
}
AFX_INLINE BOOL CXTPControl::IsTemporary() const {
return m_bTemporary;
}
AFX_INLINE XTPControlType CXTPControl::GetType() const {
return m_controlType;
}
AFX_INLINE BOOL CXTPControl::GetExpanded() const {
return m_bExpanded;
}
AFX_INLINE void CXTPControl::SetCategory(LPCTSTR lpszCategory) {
m_strCategory = lpszCategory;
}
AFX_INLINE CString CXTPControl::GetCategory() const {
return !m_strCategory.IsEmpty() ? m_strCategory : m_pAction ? m_pAction->GetCategory() : _T("");
}
AFX_INLINE void CXTPControl::SetTag(DWORD_PTR dwTag) {
m_nTag = dwTag;
}
AFX_INLINE DWORD_PTR CXTPControl::GetTag() const {
return m_nTag;
}
AFX_INLINE void CXTPControl::AssignDocTemplate(UINT nIDResource) {
m_mapDocTemplatesAssigned.SetAt(nIDResource, TRUE);
}
AFX_INLINE void CXTPControl::ExcludeDocTemplate(UINT nIDResource) {
m_mapDocTemplatesExcluded.SetAt(nIDResource, TRUE);
}
AFX_INLINE void CXTPControl::OnClick(BOOL /*bKeyboard = FALSE*/, CPoint /*pt = CPoint(0, 0)*/) {
}
AFX_INLINE void CXTPControl::SetStyle(XTPButtonStyle buttonStyle) {
if (m_buttonStyle != buttonStyle)
{
m_buttonStyle = buttonStyle;
DelayLayoutParent();
}
}
AFX_INLINE CXTPCommandBar* CXTPControl::GetCommandBar() const {
return NULL;
}
AFX_INLINE void CXTPControl::SetCloseSubMenuOnClick(BOOL bCloseOnClick) {
m_bCloseSubMenuOnClick = bCloseOnClick;
}
AFX_INLINE BOOL CXTPControl::GetCloseSubMenuOnClick() const {
return m_bCloseSubMenuOnClick;
}
AFX_INLINE int CXTPControl::GetCustomizeMinWidth() const {
return 0;
}
AFX_INLINE int CXTPControl::GetCustomizeMinHeight() const {
return 0;
}
AFX_INLINE void CXTPControl::SetWidth(int nWidth) {
if (m_nWidth != nWidth) {
m_nWidth = nWidth;
DelayLayoutParent();
}
}
AFX_INLINE void CXTPControl::SetHeight(int nHeight) {
if (m_nHeight != nHeight) {
m_nHeight = nHeight;
DelayLayoutParent();
}
}
AFX_INLINE BOOL CXTPControl::OnHookKeyDown(UINT /*nChar*/, LPARAM /*lParam*/) {
return FALSE;
}
AFX_INLINE BOOL CXTPControl::OnSetPopup(BOOL /*bPopup*/) {
return FALSE;
}
AFX_INLINE void CXTPControl::OnLButtonUp(CPoint /*point*/) {
}
AFX_INLINE BOOL CXTPControl::OnRButtonDown(CPoint /*point*/) {
return FALSE;
}
AFX_INLINE BOOL CXTPControl::OnRButtonUp(CPoint /*point*/) {
return FALSE;
}
AFX_INLINE void CXTPControl::OnMouseMove(CPoint /*point*/) {
}
AFX_INLINE BOOL CXTPControl::IsFocusable() const {
return FALSE;
}
AFX_INLINE void CXTPControl::SetFocused(BOOL /*bFocused*/) {
}
AFX_INLINE BOOL CXTPControl::IsFocused() const{
return FALSE;
}
AFX_INLINE void CXTPControl::OnCalcDynamicSize(DWORD /*dwMode*/) {
}
AFX_INLINE CXTPRibbonGroup* CXTPControl::GetRibbonGroup() const {
return m_pRibbonGroup;
}
AFX_INLINE BOOL CXTPControl::OnHookMouseWheel(UINT /*nFlags*/, short /*zDelta*/, CPoint /*pt*/) {
return FALSE;
}
AFX_INLINE BOOL CXTPControl::GetPopuped() const {
return FALSE;
}
AFX_INLINE void CXTPControl::OnIdleUpdate() {
}
AFX_INLINE CXTPControlAction* CXTPControl::GetAction() const {
return m_pAction;
}
AFX_INLINE void CXTPControl::OnThemeChanged() {
}
AFX_INLINE int CXTPControl::GetWidth() const {
return m_nWidth;
}
AFX_INLINE int CXTPControl::GetHeight() const {
return m_nHeight;
}
AFX_INLINE void CXTPControl::OnActionChanging(int /*nProperty*/) {
}
AFX_INLINE void CXTPControl::SetExecuteOnPressInterval(int nExecuteOnPressInterval) {
m_nExecuteOnPressInterval = nExecuteOnPressInterval;
}
AFX_INLINE int CXTPControl::GetExecuteOnPressInterval() const {
return m_nExecuteOnPressInterval;
}
AFX_INLINE void CXTPControl::SetKeyboardTip(LPCTSTR lpszKeyboardTip) {
m_strKeyboardTip = lpszKeyboardTip;
}
AFX_INLINE CString CXTPControl::GetKeyboardTip() const {
return !m_strKeyboardTip.IsEmpty() ? m_strKeyboardTip : m_pAction ? m_pAction->GetKeyboardTip() : _T("");
}
AFX_INLINE INT_PTR CXTPControl::OnToolHitTest(CPoint /*point*/, TOOLINFO* /*pTI*/) const {
return -1;
}
AFX_INLINE void CXTPControl::SetIconSize(CSize szIcon) {
m_szIcon = szIcon; RedrawParent(FALSE);
}
AFX_INLINE void CXTPControl::OnCaptionChanged() {
}
#endif // #if !defined(__XTPCONTROL_H__)