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.
1032 lines
45 KiB
C
1032 lines
45 KiB
C
2 years ago
|
// XTPControlExt.h
|
||
|
//
|
||
|
// 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(__XTPCONTROLEXT_H__)
|
||
|
#define __XTPCONTROLEXT_H__
|
||
|
//}}AFX_CODEJOCK_PRIVATE
|
||
|
|
||
|
#if _MSC_VER >= 1000
|
||
|
#pragma once
|
||
|
#endif // _MSC_VER >= 1000
|
||
|
|
||
|
|
||
|
class CXTPTabClientWnd;
|
||
|
class CXTPMarkupUIElement;
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPControlWindowList is a CXTPControlButton derived class.
|
||
|
// It is used internally to create window list items.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPControlWindowList : public CXTPControlButton
|
||
|
{
|
||
|
protected:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// 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,
|
||
|
// CXTPControl, CXTPControlWorkspaceActions, CXTPControlToolbars,
|
||
|
// CXTPControlOleItems, CXTPControlRecentFileList, CXTPControlSelector,
|
||
|
// CXTPControlListBox
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnCalcDynamicSize(DWORD dwMode);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to check 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);
|
||
|
|
||
|
public:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Adds the number and an ampersand "&" before the caption of in item that
|
||
|
// appears in the Windows List.
|
||
|
// Parameters:
|
||
|
// lpszTitle - Text string to display in Windows List, this test will be appended
|
||
|
// after the number.
|
||
|
// nIndex - Position within the Windows list that the Item should appear.
|
||
|
// Returns:
|
||
|
// Returns the text string containing the entire string that will appear in
|
||
|
// the Windows List.
|
||
|
//-----------------------------------------------------------------------
|
||
|
static CString AFX_CDECL ConstructCaption(const CString& lpszTitle, int nIndex);
|
||
|
|
||
|
public:
|
||
|
static UINT m_nFistMDIChild; // First MDI child id.
|
||
|
static UINT m_nItemCount; // Maximum allowed items.
|
||
|
static BOOL m_bShowRadioButtons; // TRUE to show Radio buttons.
|
||
|
|
||
|
private:
|
||
|
DECLARE_XTP_CONTROL(CXTPControlWindowList)
|
||
|
};
|
||
|
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPControlWorkspaceActions is a CXTPControlButton derived class. It used internally to
|
||
|
// add workspace actions to window menu.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPControlWorkspaceActions : public CXTPControlButton
|
||
|
{
|
||
|
protected:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// 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, CXTPControl, CXTPControlToolbars,
|
||
|
// CXTPControlOleItems, CXTPControlRecentFileList, CXTPControlSelector,
|
||
|
// CXTPControlListBox
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnCalcDynamicSize(DWORD dwMode);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Adds action command to parent controls.
|
||
|
// Parameters:
|
||
|
// pClient - Pointer to MDI tabbed client
|
||
|
// nID - Specifies the object's child-window ID.
|
||
|
// nIndex - Index to add.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void AddCommand(CXTPTabClientWnd* pClient, UINT nID, int& nIndex);
|
||
|
|
||
|
private:
|
||
|
DECLARE_XTP_CONTROL(CXTPControlWorkspaceActions)
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPControlToolbars is a CXTPControlButton derived class.
|
||
|
// It is used internally to create toolbars list items.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPControlToolbars : public CXTPControlButton
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPControlToolbars object
|
||
|
//-----------------------------------------------------------------------
|
||
|
CXTPControlToolbars();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Represents single toolbar item.
|
||
|
//-----------------------------------------------------------------------
|
||
|
class CXTPControlToolbar : public CXTPControlButton
|
||
|
{
|
||
|
//----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called when the control is executed.
|
||
|
//----------------------------------------------------------------------
|
||
|
virtual void OnExecute();
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Creates a list of toolbars for the CommandBars Context Menu.
|
||
|
// Parameters:
|
||
|
// pPopupBar - Points to a CXTPCommandBar object
|
||
|
// nInsert - Position to start inserting items in the context menu.
|
||
|
// nID - ID to assign the menu items in the context menu
|
||
|
// bAddCustomize - TRUE to add the "Customize..." option at the bottom of the
|
||
|
// menu that allows the Toolbar Customization dialog to be opened.
|
||
|
// bBeginGroup - TRUE to start new group.
|
||
|
// Remarks:
|
||
|
// This is the context menu that appears when a toolbar is right-clicked,
|
||
|
// it lists all the toolbars and allows them to be hidden\displayed.
|
||
|
//-----------------------------------------------------------------------
|
||
|
static void AFX_CDECL CreateToolbarMenu(CXTPCommandBar* pPopupBar, int nInsert, int nID, BOOL bAddCustomize, BOOL bBeginGroup = FALSE);
|
||
|
|
||
|
protected:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// 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, CXTPControl,
|
||
|
// CXTPControlOleItems, CXTPControlRecentFileList, CXTPControlSelector,
|
||
|
// CXTPControlListBox
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnCalcDynamicSize(DWORD dwMode);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to check 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);
|
||
|
|
||
|
private:
|
||
|
DECLARE_XTP_CONTROL(CXTPControlToolbars)
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPControlOleItems is a CXTPControlButton derived class.
|
||
|
// It is used internally to create ole items.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPControlOleItems : public CXTPControlButton
|
||
|
{
|
||
|
protected:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// 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,
|
||
|
// CXTPControl, CXTPControlRecentFileList, CXTPControlSelector,
|
||
|
// CXTPControlListBox
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnCalcDynamicSize(DWORD dwMode);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to check 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);
|
||
|
|
||
|
private:
|
||
|
DECLARE_XTP_CONTROL(CXTPControlOleItems)
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPControlRecentFileList is a CXTPControlButton derived class.
|
||
|
// It is used internally to create recent items list.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPControlRecentFileList : public CXTPControlButton
|
||
|
{
|
||
|
protected:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// 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, CXTPControl, CXTPControlSelector,
|
||
|
// CXTPControlListBox
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnCalcDynamicSize(DWORD dwMode);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to check 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);
|
||
|
|
||
|
protected:
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Returns pointer to recent file list collection
|
||
|
// Returns:
|
||
|
// Pointer to recent file list collection
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual CRecentFileList* GetRecentFileList();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Returns ID_FILE_MRU_FILE1.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual int GetFirstMruID();
|
||
|
|
||
|
private:
|
||
|
DECLARE_XTP_CONTROL(CXTPControlRecentFileList)
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// XTP_SLN_SELCHANGE is sent to the parent commandbar when the
|
||
|
// number of selected items has changed in the control selector.
|
||
|
// Remarks:
|
||
|
// The number of selected items changes as the mouse is moved
|
||
|
// over the controls in the control selector.
|
||
|
//
|
||
|
// XTP_SLN_SELCHANGE is sent in CXTPControlSelector::SetItemsActive.
|
||
|
// Example:
|
||
|
// Here is an example of how an application would process the XTP_LBN_SELCHANGE
|
||
|
// message.
|
||
|
// <code>
|
||
|
// BEGIN_MESSAGE_MAP(CExtendedControlsView, CEditView)
|
||
|
// //{{AFX_MSG_MAP(CExtendedControlsView)
|
||
|
// ON_NOTIFY(XTP_SLN_SELCHANGE, ID_INSERT_COLUMNS, OnColumnsSelChange)
|
||
|
// //}}AFX_MSG_MAP
|
||
|
// END_MESSAGE_MAP()
|
||
|
//
|
||
|
// void CExtendedControlsView::OnColumnsSelChange(NMHDR* pNMHDR, LRESULT* pRes)
|
||
|
// {
|
||
|
// ASSERT(pNMHDR != NULL);
|
||
|
// ASSERT(pRes != NULL);
|
||
|
//
|
||
|
// CControlColumns* pControlColumns = DYNAMIC_DOWNCAST(CControlColumns,
|
||
|
// ((NMXTPCONTROL*)pNMHDR)->pControl);
|
||
|
// if (pControlColumns)
|
||
|
// {
|
||
|
//
|
||
|
// CXTPControlStatic* pInfo = FindInfoControl(pControlColumns);
|
||
|
// if (pInfo)
|
||
|
// {
|
||
|
// int nCount = pControlColumns->m_szItemsActive.cx;
|
||
|
//
|
||
|
// CString str = _T("Cancel");
|
||
|
// if (nCount != 0)
|
||
|
// {
|
||
|
// str.Format(_T("%i Columns"), nCount);
|
||
|
// }
|
||
|
//
|
||
|
// pInfo->SetWidth(pControlColumns->m_szItem.cx *
|
||
|
// pControlColumns->m_szItemsVisible.cx);
|
||
|
//
|
||
|
//
|
||
|
// pInfo->SetCaption(str);
|
||
|
// pInfo->DelayRedrawParent();
|
||
|
// }
|
||
|
//
|
||
|
// *pRes = 1;
|
||
|
// }
|
||
|
// }
|
||
|
// </code>
|
||
|
// See Also:
|
||
|
// CXTPControlSelector::SetItemsActive
|
||
|
//-----------------------------------------------------------------------
|
||
|
const UINT XTP_SLN_SELCHANGE = 0x1006;
|
||
|
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPControlSelector is a CXTPControl derived class that represents
|
||
|
// a control selector.
|
||
|
// Remarks:
|
||
|
// A control selector is an x by y grid of controls of which can be
|
||
|
// selected by the user. This control is like the "Insert Table" and
|
||
|
// "Insert Column" controls seen in Microsoft Word.
|
||
|
//
|
||
|
// When the control selector is created, m_szItemsCount holds the number
|
||
|
// items that will initially be shown. By clicking and dragging inside
|
||
|
// the control selector, up to m_szItemsMax items can be shown. For example,
|
||
|
// if m_szItemsCount = CSize(5, 4) and m_szItemsMax = CSize(12, 12), then
|
||
|
// the control selector will always display a 5x4 grid of items unless the
|
||
|
// mouse is clicked and dragged to expand the grid up to 12x12.
|
||
|
//
|
||
|
// The size of the items is set by m_szItem, all items in the grid will
|
||
|
// be sized according to m_szItem.
|
||
|
//
|
||
|
// The current number of active items (highlighted items) is stored in
|
||
|
// m_szItemsActive. OnLButtonUp will store the number of selected items
|
||
|
// in m_szResult.
|
||
|
//
|
||
|
// When the number of selected (active\highlighted) items changes,
|
||
|
// XTP_SLN_SELCHANGE is send in a message to the parent commandbar. The
|
||
|
// message is sent while in the SetItemsActive function.
|
||
|
//
|
||
|
// The Office 2003 GUI sample illustrates how to use this class.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPControlSelector : public CXTPControl
|
||
|
{
|
||
|
DECLARE_XTP_CONTROL(CXTPControlSelector)
|
||
|
public:
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPControlSelector object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPControlSelector();
|
||
|
|
||
|
protected:
|
||
|
//-----------------------------------------------------------------------
|
||
|
// 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.
|
||
|
//-----------------------------------------------------------------------
|
||
|
CSize GetSize(CDC* pDC);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to draw the control.
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to a valid device context.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void Draw(CDC* pDC);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member is called when the mouse cursor moves.
|
||
|
// Parameters:
|
||
|
// point - Specifies the x- and y coordinate of the cursor.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void OnMouseMove(CPoint point);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// 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
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL OnSetSelected(int bSelected);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This member is called when the user releases the left mouse button.
|
||
|
// Parameters:
|
||
|
// point - Specifies the x- and y coordinate of the cursor.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void OnLButtonUp(CPoint point);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// 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, CXTPControl,
|
||
|
// CXTPControlListBox
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnCalcDynamicSize(DWORD dwMode);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// This method is called to copy the control.
|
||
|
// Parameters:
|
||
|
// pControl - Points to a source CXTPControl object
|
||
|
// bRecursive - TRUE to copy recursively.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void Copy(CXTPControl* pControl, BOOL bRecursive = FALSE);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// 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 member is called to set the number of active items.
|
||
|
// Parameters:
|
||
|
// szActive - Number of active items (on screen). If m_szItemsActive
|
||
|
// is not equal to szActive, then SetItemsActive will
|
||
|
// set m_szItemsActive = szActive.
|
||
|
// bNotify - TRUE to send XTP_SLN_SELCHANGE message to parent
|
||
|
// commandbar even if m_szItemsActive = szActive. This
|
||
|
// is necessary when the number of items has changed and
|
||
|
// m_szItemsActive = szActive, which occurs when the mouse
|
||
|
// is clicked and dragged to select items more items than
|
||
|
// are currently visible.
|
||
|
// Remarks:
|
||
|
// Active items are the items that are currently highlighted in the
|
||
|
// control selector.
|
||
|
// See Also: XTP_SLN_SELCHANGE
|
||
|
//-----------------------------------------------------------------------
|
||
|
void SetItemsActive(CSize szActive, BOOL bNotify = FALSE);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Them member is called when a control item in the control
|
||
|
// selector is drawn.
|
||
|
// Parameters:
|
||
|
// pDC - Pointer to a valid device context.
|
||
|
// rcItem - Bounding rectangle of item being drawn.
|
||
|
// clrText - Color to use when drawing.
|
||
|
// Remarks:
|
||
|
// Override this member to draw your own custom control. In
|
||
|
// the Office 2003 GUI sample, this is used to draw the column
|
||
|
// lines in the column selector control.
|
||
|
//-----------------------------------------------------------------------
|
||
|
virtual void OnDrawItem(CDC* pDC, CRect rcItem, COLORREF clrText);
|
||
|
|
||
|
public:
|
||
|
CSize m_szItemsCount; // Number of items to draw in the control selector's view. By clicking and dragging the mouse, the number of items drawn can be up to m_szItemsMax.
|
||
|
CSize m_szItemsMax; // Maximum number of items to draw in the control selector.
|
||
|
CSize m_szItemsActive; // Number of items currently "active", this is current number of items that are highlighted as the mouse moves across the control selector.
|
||
|
CSize m_szItem; // Size of the items.
|
||
|
CSize m_szResult; // Number of items that were selected from the control selector.
|
||
|
CSize m_szItemsVisible; // Number of items currently visible. Item range is from m_szItemsCount to m_szItemsMax.
|
||
|
|
||
|
private:
|
||
|
BOOL m_bLockUpdate;
|
||
|
};
|
||
|
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPControlLabel is a CXTPControl derived class.
|
||
|
// It represents a label control.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPControlLabel : public CXTPControl
|
||
|
{
|
||
|
DECLARE_XTP_CONTROL(CXTPControlLabel)
|
||
|
public:
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPControlLabel Object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPControlLabel()
|
||
|
{
|
||
|
m_dwFlags = xtpFlagSkipFocus | xtpFlagNoMovable | xtpFlagManualUpdate;
|
||
|
m_controlType = xtpControlLabel;
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to get the state of the control.
|
||
|
// Returns:
|
||
|
// TRUE if the control is selected; otherwise FALSE. Controls of
|
||
|
// type CXTPControlLabel can not receive focus so this will always
|
||
|
// return FALSE.
|
||
|
//-----------------------------------------------------------------------
|
||
|
int GetSelected() const {
|
||
|
return 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:
|
||
|
// CXTPControlCheckBox is a CXTPControlButton derived class.
|
||
|
// It represents a checkbox control.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPControlCheckBox : public CXTPControlButton
|
||
|
{
|
||
|
DECLARE_XTP_CONTROL(CXTPControlCheckBox)
|
||
|
public:
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPControlCheckBox Object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPControlCheckBox();
|
||
|
|
||
|
protected:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// The framework calls this member function 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
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL OnHookKeyDown(UINT nChar, LPARAM lParam);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to get the focused state of the control.
|
||
|
// Returns:
|
||
|
// TRUE if the control has focus; otherwise FALSE.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL IsFocused() const;
|
||
|
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPControlRadioButton is a CXTPControlButton derived class.
|
||
|
// It represents a radio button control.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPControlRadioButton : public CXTPControlButton
|
||
|
{
|
||
|
DECLARE_XTP_CONTROL(CXTPControlRadioButton)
|
||
|
public:
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPControlRadioButton Object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPControlRadioButton();
|
||
|
|
||
|
protected:
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// The framework calls this member function 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
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL OnHookKeyDown(UINT nChar, LPARAM lParam);
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Call this member to get the focused state of the control.
|
||
|
// Returns:
|
||
|
// TRUE if the control has focus; otherwise FALSE.
|
||
|
//-----------------------------------------------------------------------
|
||
|
BOOL IsFocused() const;
|
||
|
};
|
||
|
|
||
|
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPControlMarkupLabel is a CXTPControlLabel derived class.
|
||
|
// It can be used to draw markup text
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPControlMarkupLabel : public CXTPControlLabel
|
||
|
{
|
||
|
DECLARE_XTP_CONTROL(CXTPControlMarkupLabel);
|
||
|
|
||
|
public:
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPControlMarkupLabel Object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPControlMarkupLabel();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Destroys a CXTPControlMarkupLabel object, handles cleanup and deallocation
|
||
|
//-----------------------------------------------------------------------
|
||
|
~CXTPControlMarkupLabel();
|
||
|
|
||
|
protected:
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary: This method is called when the control's caption is changed
|
||
|
//-------------------------------------------------------------------------
|
||
|
void OnCaptionChanged();
|
||
|
|
||
|
protected:
|
||
|
//----------------------------------------------------------------------
|
||
|
// 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);
|
||
|
|
||
|
protected:
|
||
|
CXTPMarkupUIElement* m_pMarkupUIElement; // Markup element
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPControlHyperlink is a CXTPControl derived class.
|
||
|
// It can be used to add hyperlink text.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPControlHyperlink : public CXTPControl
|
||
|
{
|
||
|
DECLARE_XTP_CONTROL(CXTPControlHyperlink);
|
||
|
public:
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPControlHyperlink Object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPControlHyperlink();
|
||
|
|
||
|
protected:
|
||
|
//----------------------------------------------------------------------
|
||
|
// 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 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 when the control is executed.
|
||
|
//-------------------------------------------------------------------------
|
||
|
void OnExecute();
|
||
|
|
||
|
//-----------------------------------------------------------------------
|
||
|
// Input: point - Specifies the x- and y coordinate of the cursor.
|
||
|
// Summary: This member is called when the mouse cursor moves.
|
||
|
//-----------------------------------------------------------------------
|
||
|
void OnMouseMove(CPoint point);
|
||
|
|
||
|
protected:
|
||
|
HCURSOR m_hCursor; // Cursor display when item is hovered.
|
||
|
};
|
||
|
|
||
|
//===========================================================================
|
||
|
// Summary:
|
||
|
// CXTPControlBitmap is a CXTPControlLabel derived class.
|
||
|
// It can be used to add bitmap to toolbar.
|
||
|
//===========================================================================
|
||
|
class _XTP_EXT_CLASS CXTPControlBitmap : public CXTPControlLabel
|
||
|
{
|
||
|
DECLARE_XTP_CONTROL(CXTPControlBitmap);
|
||
|
|
||
|
public:
|
||
|
|
||
|
//-------------------------------------------------------------------------
|
||
|
// Summary:
|
||
|
// Constructs a CXTPControlBitmap Object.
|
||
|
//-------------------------------------------------------------------------
|
||
|
CXTPControlBitmap();
|
||
|
|
||
|
protected:
|
||
|
//----------------------------------------------------------------------
|
||
|
// 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);
|
||
|
|
||
|
};
|
||
|
|
||
|
#endif // #if !defined(__XTPCONTROLEXT_H__)
|