Rhino C++ API  8.6
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
CRhinoUiExpandableTabCtrl Class Reference

#include <RhinoSdkUiExpandableTabCtrl.h>

Inheritance diagram for CRhinoUiExpandableTabCtrl:
CRhinoUiDockBarClientExpandableTabCtrl

Public Types

enum  expandable_tab_flags {
  etf_vertical_tabs = 0, etf_allow_drag_drop, etf_user_1, etf_user_2,
  etf_user_3, etf_user_4, etf_user_5, etf_user_6,
  etf_user_7, etf_user_8, etf_user_9, etf_user_10,
  etf_invalid
}
 
enum  hit_test {
  ht_caption = 0, ht_expand_contract_button, ht_client, ht_item_stretch,
  ht_invalid, force_32bit_hit_test = 0xFFFFFFFF
}
 
enum  notification_ids { etcn_expand = 0, etcn_hide, force_32bit_notification_ids = 0xFFFFFFFF }
 

Public Member Functions

 CRhinoUiExpandableTabCtrl ()
 
virtual ~CRhinoUiExpandableTabCtrl ()
 
virtual bool AddPage (LPCTSTR lpszItem, int nImage, LPCTSTR lpszTemplateName, LPCTSTR szHtmlResID, CRuntimeClass *pRC, AFX_MODULE_STATE *pMS)
 
virtual bool AddPage (LPCTSTR lpszItem, int nImage, UINT nIDTemplate, UINT nHtmlResID, CRuntimeClass *pRC, AFX_MODULE_STATE *pMS)
 
CSize Borders () const
 
bool CreateExpandableTabCtrl (CWnd *pParent, UINT nID, LPRECT lpRect=NULL)
 
bool DeleteAllItems ()
 
bool DeleteItem (int nItem)
 
bool ExpandItem (int nItem, bool bExpand=true)
 
const CRhinoUiExpandableTabCtrlItemGetActiveItem () const
 
int GetActiveItemIndex () const
 
const CRhinoUiExpandableTabCtrlItemGetItem (const CDialog *pPage) const
 
const CRhinoUiExpandableTabCtrlItemGetItem (int nItem) const
 
int GetItemCount () const
 
void GetScrolledTabClientRect (LPRECT lpR) const
 
const SCROLLINFO & GetTabCtrlScrollInfo (bool bVert) const
 
int GetTabGap () const
 
bool HideTab (int iIndex, bool bHide=true)
 
hit_test HitTest (CPoint pt, int *pItemIndex=NULL) const
 
bool IndexIsValid (int iIndex) const
 
virtual bool InsertItem (int nItem, LPCTSTR lpszItem, int nImage, LPCTSTR lpszTemplateName, LPCTSTR szHtmlResID, CRuntimeClass *pRC, AFX_MODULE_STATE *pMS)
 
virtual bool InsertItem (int nItem, LPCTSTR lpszItem, int nImage, UINT nIDTemplate, UINT nHtmlResID, CRuntimeClass *pRC, AFX_MODULE_STATE *pMS)
 
bool IsExpandableTabFlagFlagSet (expandable_tab_flags flag) const
 
bool IsTabHidden (int iIndex) const
 
int ItemIndex (const CDialog *pPage) const
 
int ItemIndex (CPoint pt, bool bCheckPageRect=false) const
 
afx_msg int OnCreate (LPCREATESTRUCT lpCreateStruct)
 
afx_msg BOOL32 OnEraseBkgnd (CDC *pDC)
 
afx_msg void OnHScroll (UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)
 
virtual bool OnItemDroppedOnOtherWindow (int drag_item_index, CPoint point)
 
afx_msg void OnLButtonDown (UINT nFlags, CPoint point)
 
afx_msg void OnLButtonUp (UINT nFlags, CPoint point)
 
afx_msg void OnMouseMove (UINT nFlags, CPoint point)
 
afx_msg BOOL32 OnMouseWheel (UINT nFlags, short zDelta, CPoint pt)
 
afx_msg void OnPaint ()
 
afx_msg void OnSize (UINT nType, int cx, int cy)
 
afx_msg void OnSysColorChange ()
 
afx_msg void OnVScroll (UINT nSBCode, UINT nPos, CScrollBar *pScrollBar)
 
bool ReplaceDlgItem (CDialog *pParent, UINT nID)
 
void ScrollTabClientPoint (CPoint &pt) const
 
void ScrollTabClientRect (CRect &r) const
 
bool SetActiveItem (int nItem)
 
bool SetBorders (int cx, int cy)
 
bool SetExpandableTabFlag (expandable_tab_flags flag, bool b)
 
int SetTabGap (int nGap)
 
CRhinoUiThemeDraw * ThemeDraw () const
 

Static Public Attributes

static const UINT m_custom_win_msg_id
 

Protected Member Functions

CSize CalculateButtonRects ()
 
virtual BOOL32 PreCreateWindow (CREATESTRUCT &cs)
 
void RecalcLayout (bool bRepaint=true)
 
void SendParentNotification (int msg, int hiword, LPARAM lParam)
 
bool TearOffAndDockBar (int lmouse_down_on, CPoint point, CPoint screen_point, CWnd *mouse_over_window)
 

Member Enumeration Documentation

◆ expandable_tab_flags

Description: Style and mode flags associated with tab control.

See Also: CRhinoUiExpandableTabCtrl::IsExpandableTabFlagFlagSet() CRhinoUiExpandableTabCtrl::SetExpandableTabFlag()

Enumerator
etf_vertical_tabs 

Display tabs on left side of control, default is false.

etf_allow_drag_drop 

Allow dragging of tabs to rearrange.

etf_user_1 

reserved for future use

etf_user_2 

reserved for future use

etf_user_3 

reserved for future use

etf_user_4 

reserved for future use

etf_user_5 

reserved for future use

etf_user_6 

reserved for future use

etf_user_7 

reserved for future use

etf_user_8 

reserved for future use

etf_user_9 

reserved for future use

etf_user_10 

reserved for future use

etf_invalid 

Invalid should always be last, it is used to size flag byte array.

◆ hit_test

Description: Valid places a point may land on a tab control or item

See Also: CRhinoUiExpandableTabCtrl::HitTest()

Enumerator
ht_caption 

On a tab item caption.

ht_expand_contract_button 

On a tab item caption expand/contract button.

ht_client 

On expanded tab page client.

ht_item_stretch 

gap between tabs

ht_invalid 

Hit test failed, not over a tab item. Should always be last

force_32bit_hit_test 

for internal use only, this allows adding additional values without breaking the SDK in the future

◆ notification_ids

Description: Custom event notification messages sent to parent use the following format: message = CRhinoUiExpandableTabCtrl::m_custom_win_msg_id (static UINT holding ID of registered Windows message) WPARAM = LOWORD is notification ID, HIWORD is message dependent LPARAM = Message dependent

To use these notification codes do add the message map macro to the parent of this control: ON_REGISTERED_MESSAGE( CRhinoUiExpandableTabCtrl::m_custom_win_msg_id, OnRegisteredMessage) Add this to the decloration of the the parent window class: afx_msg LRESULT OnRegisteredMessage( WPARAM wParam, LPARAM lParam); Add this method to the class implementation LRESULT CMyDialog::OnRegisteredMessage( WPARAM wParam, LPARAM lParam) { int tab_notification_id = LOWORD( wParam); int hi_word = HIWORD( wParam); CDialog* pPage = NULL; switch( tab_notification_id) { case CRhinoUiExpandableTabCtrl::etcn_expand: pPage = (CDialog*)lParam; ///< expanded == hi_word return true; case CRhinoUiExpandableTabCtrl::etcn_hide: pPage = (CDialog*)lParam; ///< hidden = hi_word return true; } return 0L; }

Enumerator
etcn_expand 

message = CRhinoUiExpandableTabCtrl::m_custom_win_msg_id WPARAM LOWORD = etcn_expand HIWROD = Bool, if true then tab has just been expanded otherwise it has just been contracted. LPARAM = Pointer to CRhinoUiExpandableTabCtrlItem item being expanded or contracted.

etcn_hide 

message = CRhinoUiExpandableTabCtrl::m_custom_win_msg_id WPARAM LOWORD = etcn_hide HIWROD = Bool, if true then tab has just been hidden otherwise it has just become visible. LPARAM = Pointer to CRhinoUiExpandableTabCtrlItem item being hidden or shown.

force_32bit_notification_ids 

for internal use only, this allows adding additional values without breaking the SDK in the future

Constructor & Destructor Documentation

◆ CRhinoUiExpandableTabCtrl()

CRhinoUiExpandableTabCtrl::CRhinoUiExpandableTabCtrl ( )

Description: Constructor

◆ ~CRhinoUiExpandableTabCtrl()

virtual CRhinoUiExpandableTabCtrl::~CRhinoUiExpandableTabCtrl ( )
virtual

Description: Destructor

Member Function Documentation

◆ AddPage() [1/2]

virtual bool CRhinoUiExpandableTabCtrl::AddPage ( LPCTSTR  lpszItem,
int  nImage,
LPCTSTR  lpszTemplateName,
LPCTSTR  szHtmlResID,
CRuntimeClass *  pRC,
AFX_MODULE_STATE *  pMS 
)
virtual

Description: Add new page to bottom of tab stack.

Parameters: lpszItem [in] Tab caption nImage [in] Index of image to display to left of caption lpszTemplateName [in] The null-terminated string that is the name of a dialog-box template resource. szHtmlResID [in] The null-terminated string that is the name of an HTML resource. nIDTemplate [in] Contains the ID number of a dialog-box template resource. nHtmlResID [in] Contains the ID number of an HTML resource. pRC [in] Class to create and add to control. Use RUNTIME_CLASS( CMyClass) macro to format this parameter. Class decloration must include DECLARE_DYNCREATE(CMyClass) macro. Class implementation must include IMPLEMENT_DYNCREATE(CMyClass, CRhinoUiDialog) macro. pMS [in] This must be your DLL application module state.

Returns: Returns true if successful; otherwise false

See Also: CRhinoUiExpandableTabCtrl::InsertItem() AfxGetStaticModuleState()

◆ AddPage() [2/2]

virtual bool CRhinoUiExpandableTabCtrl::AddPage ( LPCTSTR  lpszItem,
int  nImage,
UINT  nIDTemplate,
UINT  nHtmlResID,
CRuntimeClass *  pRC,
AFX_MODULE_STATE *  pMS 
)
virtual

◆ Borders()

CSize CRhinoUiExpandableTabCtrl::Borders ( ) const

Description: Get borders surrounding the pages.

Returns: Returns CSize where CSize::cx is the left and right borders and CSize::cy is the top and bottom.

See Also: CRhinoUiExpandableTabCtrl::SetBorders

◆ CalculateButtonRects()

CSize CRhinoUiExpandableTabCtrl::CalculateButtonRects ( )
protected

Description: Calculate tab caption rectangles used for display and hit testing

Returns: Returns size required necessary to display all tab items.

See Also: CRhinoUiExpandableTabCtrl::RecalcLayout()

◆ CreateExpandableTabCtrl()

bool CRhinoUiExpandableTabCtrl::CreateExpandableTabCtrl ( CWnd *  pParent,
UINT  nID,
LPRECT  lpRect = NULL 
)

Description: Create tab control window.

Parameters: pParent [in] Parent window for this tab control. nID [in] The ID of the child window.

Returns: Returns true if successful; otherwise false

See Also: CRhinoUiExpandableTabCtrl::SetExpandableTabFlag()

◆ DeleteAllItems()

bool CRhinoUiExpandableTabCtrl::DeleteAllItems ( )

Description: Delete and destroy all tab pages in control.

Returns: Returns true if successful; otherwise false

See Also: CRhinoUiExpandableTabCtrl::DeleteItem()

◆ DeleteItem()

bool CRhinoUiExpandableTabCtrl::DeleteItem ( int  nItem)

Description: Remove tab and destroy tab page dialog.

Parameters: iIndex [in] Index of page to delete.

Returns: Returns true if iIndex is valid and deleted, false if not.

See Also: CRhinoUiExpandableTabCtrl::DeleteAllItems()

◆ ExpandItem()

bool CRhinoUiExpandableTabCtrl::ExpandItem ( int  nItem,
bool  bExpand = true 
)

Description: Expand or contract tab item page.

Parameters: nItem [in] Zero based index of page to expand or contract bExpand [in] If true then page is expanded; otherwise page is contracted

Returns: Returns true on success; otherwise false

◆ GetActiveItem()

const CRhinoUiExpandableTabCtrlItem* CRhinoUiExpandableTabCtrl::GetActiveItem ( ) const

Description: Get pointer to item that currently has focus.

Returns: Returns pointer to item that currently has focus or NULL if none found.

See Also: CRhinoUiExpandableTabCtrl::GetActiveItemIndex() CRhinoUiExpandableTabCtrl::SetActiveItem()

◆ GetActiveItemIndex()

int CRhinoUiExpandableTabCtrl::GetActiveItemIndex ( ) const

Description: Get index of page that currently has focus.

Returns: Returns index of page that currently has focus

See Also: CRhinoUiExpandableTabCtrl::GetActiveItem() CRhinoUiExpandableTabCtrl::SetActiveItem()

◆ GetItem() [1/2]

const CRhinoUiExpandableTabCtrlItem* CRhinoUiExpandableTabCtrl::GetItem ( const CDialog *  pPage) const

Description: Get the tab control item associated with a particular page.

Parameters: pPage [in] Page to search for.

Returns: Return valid pointer if the dialog page is found or NULL if not.

See Also: CRhinoUiExpandableTabCtrl::GetItemCount()

◆ GetItem() [2/2]

const CRhinoUiExpandableTabCtrlItem* CRhinoUiExpandableTabCtrl::GetItem ( int  nItem) const

Description: Get the tab control item associated with a particular index.

Parameters: nItem [in] Index of item to get.

Returns: Return valid pointer if nItem is valid or NULL if not.

See Also: CRhinoUiExpandableTabCtrl::GetItemCount()

◆ GetItemCount()

int CRhinoUiExpandableTabCtrl::GetItemCount ( ) const

Description: Number of tabs currently added to this control. Includes hidden tabs.

Returns: Returns number of items in tab control including hidden items.

◆ GetScrolledTabClientRect()

void CRhinoUiExpandableTabCtrl::GetScrolledTabClientRect ( LPRECT  lpR) const

Description: Get client rect positioned relative to current scroll bar position.

Parameters: lpR [out] Pointer to receive rectangle

See Also: CRhinoUiExpandableTabCtrl::ScrollTabClientRect()

◆ GetTabCtrlScrollInfo()

const SCROLLINFO& CRhinoUiExpandableTabCtrl::GetTabCtrlScrollInfo ( bool  bVert) const

Description: Get horizontal or vertical SCROLLINFO used to control scorll bars.

Parameters: bVert [in] If true then vertical scroll bar info is returned otherwise horizontal scroll bar info is returned.

Returns: const Reference to SCROLLINFO used to control scroll bar.

◆ GetTabGap()

int CRhinoUiExpandableTabCtrl::GetTabGap ( ) const

Description: The tab gap is the space between the bottom of the tab caption and the next tab when a tab is contracted. If the tab is expanded it is the space between the bottom of the tab page and the next tab.

If the tab is vertically aligned the space is not at the bottom but on the right side of the tab.

Returns: Returns gap in client window units.

See Also: CRhinoUiExpandableTabCtrl::SetTabGap()

◆ HideTab()

bool CRhinoUiExpandableTabCtrl::HideTab ( int  iIndex,
bool  bHide = true 
)

Description: Remove tab from display but not from internal tab list. This allows hiding and displaying of tabs in there original position and state.

Parameters: iIndex [in] Index of tab to hide bHide [in] If true tab is hidden; otherwise tab is displayed

Returns: Returns true if successful; otherwise false

See Also: CRhinoUiExpandableTabCtrl::IsTabHidden()

◆ HitTest()

hit_test CRhinoUiExpandableTabCtrl::HitTest ( CPoint  pt,
int *  pItemIndex = NULL 
) const

Description: Check to see if a tab control client point is over any part of a tab control item.

Parameters: pt[in] Point in client window coordinates to test pItemIndex [out] If non NULL it receives index of item the point is over if the point is over an item.

Returns: Returns hit_test value indicating what the point is over.

See Also: CRhinoUiExpandableTabCtrl::hit_test

◆ IndexIsValid()

bool CRhinoUiExpandableTabCtrl::IndexIsValid ( int  iIndex) const

Description: Check to see if index is greater than or equal to zero and less than item count. This validates a zero based index into tab control.

Parameters: iIndex [in] Item index to validate

Returns: Returns true if iIndex is valid; otherwise false

◆ InsertItem() [1/2]

virtual bool CRhinoUiExpandableTabCtrl::InsertItem ( int  nItem,
LPCTSTR  lpszItem,
int  nImage,
LPCTSTR  lpszTemplateName,
LPCTSTR  szHtmlResID,
CRuntimeClass *  pRC,
AFX_MODULE_STATE *  pMS 
)
virtual

Description: Insert a new page or add new page to bottom of tab stack.

Parameters: nItem [in] Position to insert item. If nItem is less than zero or greater than or equal to the number of items in the control, the item is appened to the bottom of the stack. lpszItem [in] Tab caption nImage [in] Index of image to display to left of caption lpszTemplateName [in] The null-terminated string that is the name of a dialog-box template resource. szHtmlResID [in] The null-terminated string that is the name of an HTML resource. nIDTemplate [in] Contains the ID number of a dialog-box template resource. nHtmlResID [in] Contains the ID number of an HTML resource. pRC [in] Class to create and add to control. Use RUNTIME_CLASS( CMyClass) macro to format this parameter. Class decloration must include DECLARE_DYNCREATE(CMyClass) macro. Class implementation must include IMPLEMENT_DYNCREATE(CMyClass, CRhinoUiDialog) macro. pMS [in] This must be your DLL application module state.

Returns: Returns true if successful; otherwise false

See Also: CRhinoUiExpandableTabCtrl::AddItem() AfxGetStaticModuleState()

◆ InsertItem() [2/2]

virtual bool CRhinoUiExpandableTabCtrl::InsertItem ( int  nItem,
LPCTSTR  lpszItem,
int  nImage,
UINT  nIDTemplate,
UINT  nHtmlResID,
CRuntimeClass *  pRC,
AFX_MODULE_STATE *  pMS 
)
virtual

◆ IsExpandableTabFlagFlagSet()

bool CRhinoUiExpandableTabCtrl::IsExpandableTabFlagFlagSet ( expandable_tab_flags  flag) const

Description: Check to see if mode flag is set.

Parameters: flag [in] Flag value to check.

Returns: Returns true if flag is set, false if it is not.

See Also: CRhinoUiExpandableTabCtrl::SetExpandableTabFlag()

◆ IsTabHidden()

bool CRhinoUiExpandableTabCtrl::IsTabHidden ( int  iIndex) const

Description: Check to see if tab is hidden

Parameters: iIndex [in] Index of tab to check

Returns: Returns true if tab is hidden; otherwise false

See Also: CRhinoUiExpandableTabCtrl::HideTab()

◆ ItemIndex() [1/2]

int CRhinoUiExpandableTabCtrl::ItemIndex ( const CDialog *  pPage) const

Description: Determine tab index based on dialog page pointer.

Parameters: pPage [in] Find index of tab associated with this page

Returns: Returns zero based index of tab page if found or -1 if not found.

◆ ItemIndex() [2/2]

int CRhinoUiExpandableTabCtrl::ItemIndex ( CPoint  pt,
bool  bCheckPageRect = false 
) const

Description: Determine tab index based on a client window point.

Parameters: pt [in] Point in client window coordinates. bCheckPageRect [in] Check to see if point is over page as well as tab caption.

Returns: Returns zero based index of tab page if found or -1 if not found.

◆ OnCreate()

afx_msg int CRhinoUiExpandableTabCtrl::OnCreate ( LPCREATESTRUCT  lpCreateStruct)

◆ OnEraseBkgnd()

afx_msg BOOL32 CRhinoUiExpandableTabCtrl::OnEraseBkgnd ( CDC *  pDC)

◆ OnHScroll()

afx_msg void CRhinoUiExpandableTabCtrl::OnHScroll ( UINT  nSBCode,
UINT  nPos,
CScrollBar *  pScrollBar 
)

◆ OnItemDroppedOnOtherWindow()

virtual bool CRhinoUiExpandableTabCtrl::OnItemDroppedOnOtherWindow ( int  drag_item_index,
CPoint  point 
)
virtual

Description: Insert a new page or add new page to bottom of tab stack.

Parameters: nItem [in] Position to insert item. If nItem is less than zero or greater than or equal to the number of items in the control, the item is appened to the bottom of the stack. lpszItem [in] Tab caption nImage [in] Index of image to display to left of caption lpszTemplateName [in] The null-terminated string that is the name of a dialog-box template resource. szHtmlResID [in] The null-terminated string that is the name of an HTML resource. nIDTemplate [in] Contains the ID number of a dialog-box template resource. nHtmlResID [in] Contains the ID number of an HTML resource. pRC [in] Class to create and add to control. Use RUNTIME_CLASS( CMyClass) macro to format this parameter. Class decloration must include DECLARE_DYNCREATE(CMyClass) macro. Class implementation must include IMPLEMENT_DYNCREATE(CMyClass, CRhinoUiDialog) macro. pMS [in] This must be your DLL application module state.

Returns: Returns true if successful; otherwise false

See Also: CRhinoUiExpandableTabCtrl::AddItem() AfxGetStaticModuleState()

◆ OnLButtonDown()

afx_msg void CRhinoUiExpandableTabCtrl::OnLButtonDown ( UINT  nFlags,
CPoint  point 
)

◆ OnLButtonUp()

afx_msg void CRhinoUiExpandableTabCtrl::OnLButtonUp ( UINT  nFlags,
CPoint  point 
)

◆ OnMouseMove()

afx_msg void CRhinoUiExpandableTabCtrl::OnMouseMove ( UINT  nFlags,
CPoint  point 
)

◆ OnMouseWheel()

afx_msg BOOL32 CRhinoUiExpandableTabCtrl::OnMouseWheel ( UINT  nFlags,
short  zDelta,
CPoint  pt 
)

◆ OnPaint()

afx_msg void CRhinoUiExpandableTabCtrl::OnPaint ( )

◆ OnSize()

afx_msg void CRhinoUiExpandableTabCtrl::OnSize ( UINT  nType,
int  cx,
int  cy 
)

◆ OnSysColorChange()

afx_msg void CRhinoUiExpandableTabCtrl::OnSysColorChange ( )

◆ OnVScroll()

afx_msg void CRhinoUiExpandableTabCtrl::OnVScroll ( UINT  nSBCode,
UINT  nPos,
CScrollBar *  pScrollBar 
)

◆ PreCreateWindow()

virtual BOOL32 CRhinoUiExpandableTabCtrl::PreCreateWindow ( CREATESTRUCT &  cs)
protectedvirtual

◆ RecalcLayout()

void CRhinoUiExpandableTabCtrl::RecalcLayout ( bool  bRepaint = true)
protected

Description: This is called when tabs are added, removed, expanded, hidden or shown. This method calls CalculateButtonRects and decides if scroll bars need to be displayed.

Parameters: bRepaint [in] If true then the client area of the tab control is invalidated.

See Also: CRhinoUiExpandableTabCtrl::CalculateButtonRects()

◆ ReplaceDlgItem()

bool CRhinoUiExpandableTabCtrl::ReplaceDlgItem ( CDialog *  pParent,
UINT  nID 
)

Description: Replace a dialog item with this control

Parameters: pParent [in] Dialog to embed tab control inside of. nID [in] The ID of the dialog control to replace. The new tab control will be created using this ID.

Returns: Returns true if successful; otherwise false

See Also: CRhinoUiExpandableTabCtrl::CreateExpandableTabCtrl()

◆ ScrollTabClientPoint()

void CRhinoUiExpandableTabCtrl::ScrollTabClientPoint ( CPoint &  pt) const

Description: Adjust client window point to reflect current scroll bar position. Does nothing if scroll bar is not currently visible.

Parameters: pt [in/out] Point to adjust.

See Also: CRhinoUiExpandableTabCtrl::ScrollTabClientRect()

◆ ScrollTabClientRect()

void CRhinoUiExpandableTabCtrl::ScrollTabClientRect ( CRect &  r) const

Description: Adjust rectangle, in client window coordinates, to reflect current scroll bar position. Does nothing if scroll bar is not currently visible.

Parameters: r [in/out] Rectangle to adjust.

See Also: CRhinoUiExpandableTabCtrl::ScrollTabClientPoint()

◆ SendParentNotification()

void CRhinoUiExpandableTabCtrl::SendParentNotification ( int  msg,
int  hiword,
LPARAM  lParam 
)
protected

Description: Send event notification to parent window. See CRhinoUiExpandableTabCtrl::notification_ids for valid event notification codes.

Parameters: msg [in] CRhinoUiExpandableTabCtrl::notification_ids hiword [in] Hi word of WPARAM sent to parent, typically a state value lParam [in] Sent as LPARAM of custom notification message, typically a pointer to the item sending the notification. See Also: CRhinoUiExpandableTabCtrl::notification_ids

◆ SetActiveItem()

bool CRhinoUiExpandableTabCtrl::SetActiveItem ( int  nItem)

Description: Make sure page is visible and expanded and set focus to page.

Parameters: nItem [in] Index of page to activate.

Returns: Returns true if page found and successfully expanded or false if not

See Also: CRhinoUiExpandableTabCtrl::GetActiveItem() CRhinoUiExpandableTabCtrl::GetActiveItemIndex()

◆ SetBorders()

bool CRhinoUiExpandableTabCtrl::SetBorders ( int  cx,
int  cy 
)

Description: Get borders surrounding the pages.

Parameters: cx [in] border to be applied to the left and right sides cy [in] border to be applied to the top and bottom

Returns: Returns true if cx and cy are greater to or equal to 0

See Also: CRhinoUiExpandableTabCtrl::Borders

◆ SetExpandableTabFlag()

bool CRhinoUiExpandableTabCtrl::SetExpandableTabFlag ( expandable_tab_flags  flag,
bool  b 
)

Description: Set mode flag

Parameters: flag [in] Flag value to set. b [in] New value for flag

Returns: Previous value for flag

See Also: CRhinoUiExpandableTabCtrl::ExpandableTabFlag()

◆ SetTabGap()

int CRhinoUiExpandableTabCtrl::SetTabGap ( int  nGap)

Description: The tab gap is the space between the bottom of the tab caption and the next tab when a tab is contracted. If the tab is expanded it is the space between the bottom of the tab page and the next tab.

If the tab is vertically aligned the space is not at the bottom but on the right side of the tab.

Parameters: nGap [in] The new gap in client window units.

Returns: Returns previous gap

See Also: CRhinoUiExpandableTabCtrl::GetTabGap()

◆ TearOffAndDockBar()

bool CRhinoUiExpandableTabCtrl::TearOffAndDockBar ( int  lmouse_down_on,
CPoint  point,
CPoint  screen_point,
CWnd *  mouse_over_window 
)
protected

◆ ThemeDraw()

CRhinoUiThemeDraw* CRhinoUiExpandableTabCtrl::ThemeDraw ( ) const

Description: Get CRhinoUiThemeDraw object pointer if theme drawing is supported for this control.

Returns: Returns valid pointer to a initialized CRhinoUiThemeDraw object if theme drawing is supported for this object; otherwise return NULL.

See Also: CRhinoUiThemeDraw

Member Data Documentation

◆ m_custom_win_msg_id

const UINT CRhinoUiExpandableTabCtrl::m_custom_win_msg_id
static