Export (0) Print
Expand All

Tab

This section contains information about the programming elements used with tab controls.

Overviews

TopicContents
About Tab Controls

A tab control is analogous to the dividers in a notebook or the labels in a file cabinet. By using a tab control, an application can define multiple pages for the same area of a window or dialog box.

Using Tab Controls

This topic contains two examples that use tab controls.

 

Macros

TopicContents
TabCtrl_AdjustRect

Calculates a tab control's display area given a window rectangle, or calculates the window rectangle that would correspond to a specified display area. You can use this macro or send the TCM_ADJUSTRECT message explicitly.

TabCtrl_DeleteAllItems

Removes all items from a tab control. You can use this macro or send the TCM_DELETEALLITEMS message explicitly.

TabCtrl_DeleteItem

Removes an item from a tab control. You can use this macro or send the TCM_DELETEITEM message explicitly.

TabCtrl_DeselectAll

Resets items in a tab control, clearing any that were set to the TCIS_BUTTONPRESSED state. You can use this macro or send the TCM_DESELECTALL message explicitly.

TabCtrl_GetCurFocus

Returns the index of the item that has the focus in a tab control. You can use this macro or send the TCM_GETCURFOCUS message explicitly.

TabCtrl_GetCurSel

Determines the currently selected tab in a tab control. You can use this macro or send the TCM_GETCURSEL message explicitly.

TabCtrl_GetExtendedStyle

Retrieves the extended styles that are currently in use for the tab control. You can use this macro or send the TCM_GETEXTENDEDSTYLE message explicitly.

TabCtrl_GetImageList

Retrieves the image list associated with a tab control. You can use this macro or send the TCM_GETIMAGELIST message explicitly.

TabCtrl_GetItem

Retrieves information about a tab in a tab control. You can use this macro or send the TCM_GETITEM message explicitly.

TabCtrl_GetItemCount

Retrieves the number of tabs in the tab control. You can use this macro or send the TCM_GETITEMCOUNT message explicitly.

TabCtrl_GetItemRect

Retrieves the bounding rectangle for a tab in a tab control. You can use this macro or send the TCM_GETITEMRECT message explicitly.

TabCtrl_GetRowCount

Retrieves the current number of rows of tabs in a tab control. You can use this macro or send the TCM_GETROWCOUNT message explicitly.

TabCtrl_GetToolTips

Retrieves the handle to the tooltip control associated with a tab control. You can use this macro or send the TCM_GETTOOLTIPS message explicitly.

TabCtrl_GetUnicodeFormat

Retrieves the UNICODE character format flag for the control. You can use this macro or send the TCM_GETUNICODEFORMAT message explicitly.

TabCtrl_HighlightItem

Sets the highlight state of a tab item. You can use this macro or send the TCM_HIGHLIGHTITEM message explicitly.

TabCtrl_HitTest

Determines which tab, if any, is at a specified screen position. You can use this macro or send the TCM_HITTEST message explicitly.

TabCtrl_InsertItem

Inserts a new tab in a tab control. You can use this macro or send the TCM_INSERTITEM message explicitly.

TabCtrl_RemoveImage

Removes an image from a tab control's image list. You can use this macro or send the TCM_REMOVEIMAGE message explicitly.

TabCtrl_SetCurFocus

Sets the focus to a specified tab in a tab control. You can use this macro or send the TCM_SETCURFOCUS message explicitly.

TabCtrl_SetCurSel

Selects a tab in a tab control. You can use this macro or send the TCM_SETCURSEL message explicitly.

TabCtrl_SetExtendedStyle

Sets the extended styles that the tab control will use. You can use this macro or send the TCM_SETEXTENDEDSTYLE message explicitly.

TabCtrl_SetImageList

Assigns an image list to a tab control. You can use this macro or send the TCM_SETIMAGELIST message explicitly.

TabCtrl_SetItem

Sets some or all of a tab's attributes. You can use this macro or send the TCM_SETITEM message explicitly.

TabCtrl_SetItemExtra

Sets the number of bytes per tab reserved for application-defined data in a tab control. You can use this macro or send the TCM_SETITEMEXTRA message explicitly.

TabCtrl_SetItemSize

Sets the width and height of tabs in a fixed-width or owner-drawn tab control. You can use this macro or send the TCM_SETITEMSIZE message explicitly.

TabCtrl_SetMinTabWidth

Sets the minimum width of items in a tab control. You can use this macro or send the TCM_SETMINTABWIDTH message explicitly.

TabCtrl_SetPadding

Sets the amount of space (padding) around each tab's icon and label in a tab control. You can use this macro or send the TCM_SETPADDING message explicitly.

TabCtrl_SetToolTips

Assigns a tooltip control to a tab control. You can use this macro or send the TCM_SETTOOLTIPS message explicitly.

TabCtrl_SetUnicodeFormat

Sets the Unicode character format flag for the control. This message allows you to change the character set used by the control at run time rather than having to re-create the control. You can use this macro or send the TCM_SETUNICODEFORMAT message explicitly.

 

Messages

TopicContents
TCM_ADJUSTRECT

Calculates a tab control's display area given a window rectangle, or calculates the window rectangle that would correspond to a specified display area. You can send this message explicitly or by using the TabCtrl_AdjustRect macro.

TCM_DELETEALLITEMS

Removes all items from a tab control. You can send this message explicitly or by using the TabCtrl_DeleteAllItems macro.

TCM_DELETEITEM

Removes an item from a tab control. You can send this message explicitly or by using the TabCtrl_DeleteItem macro.

TCM_DESELECTALL

Resets items in a tab control, clearing any that were set to the TCIS_BUTTONPRESSED state. You can send this message explicitly or by using the TabCtrl_DeselectAll macro.

TCM_GETCURFOCUS

Returns the index of the item that has the focus in a tab control. You can send this message explicitly or by using the TabCtrl_GetCurFocus macro.

TCM_GETCURSEL

Determines the currently selected tab in a tab control. You can send this message explicitly or by using the TabCtrl_GetCurSel macro.

TCM_GETEXTENDEDSTYLE

Retrieves the extended styles that are currently in use for the tab control. You can send this message explicitly or by using the TabCtrl_GetExtendedStyle macro.

TCM_GETIMAGELIST

Retrieves the image list associated with a tab control. You can send this message explicitly or by using the TabCtrl_GetImageList macro.

TCM_GETITEM

Retrieves information about a tab in a tab control. You can send this message explicitly or by using the TabCtrl_GetItem macro.

TCM_GETITEMCOUNT

Retrieves the number of tabs in the tab control. You can send this message explicitly or by using the TabCtrl_GetItemCount macro.

TCM_GETITEMRECT

Retrieves the bounding rectangle for a tab in a tab control. You can send this message explicitly or by using the TabCtrl_GetItemRect macro.

TCM_GETROWCOUNT

Retrieves the current number of rows of tabs in a tab control. You can send this message explicitly or by using the TabCtrl_GetRowCount macro.

TCM_GETTOOLTIPS

Retrieves the handle to the tooltip control associated with a tab control. You can send this message explicitly or by using the TabCtrl_GetToolTips macro.

TCM_GETUNICODEFORMAT

Retrieves the Unicode character format flag for the control. You can send this message explicitly or use the TabCtrl_GetUnicodeFormat macro.

TCM_HIGHLIGHTITEM

Sets the highlight state of a tab item. You can send this message explicitly or by using the TabCtrl_HighlightItem macro.

TCM_HITTEST

Determines which tab, if any, is at a specified screen position. You can send this message explicitly or by using the TabCtrl_HitTest macro.

TCM_INSERTITEM

Inserts a new tab in a tab control. You can send this message explicitly or by using the TabCtrl_InsertItem macro.

TCM_REMOVEIMAGE

Removes an image from a tab control's image list. You can send this message explicitly or by using the TabCtrl_RemoveImage macro.

TCM_SETCURFOCUS

Sets the focus to a specified tab in a tab control. You can send this message explicitly or by using the TabCtrl_SetCurFocus macro.

TCM_SETCURSEL

Selects a tab in a tab control. You can send this message explicitly or by using the TabCtrl_SetCurSel macro.

TCM_SETEXTENDEDSTYLE

Sets the extended styles that the tab control will use. You can send this message explicitly or by using the TabCtrl_SetExtendedStyle macro.

TCM_SETIMAGELIST

Assigns an image list to a tab control. You can send this message explicitly or by using the TabCtrl_SetImageList macro.

TCM_SETITEM

Sets some or all of a tab's attributes. You can send this message explicitly or by using the TabCtrl_SetItem macro.

TCM_SETITEMEXTRA

Sets the number of bytes per tab reserved for application-defined data in a tab control. You can send this message explicitly or by using the TabCtrl_SetItemExtra macro.

TCM_SETITEMSIZE

Sets the width and height of tabs in a fixed-width or owner-drawn tab control. You can send this message explicitly or by using the TabCtrl_SetItemSize macro.

TCM_SETMINTABWIDTH

Sets the minimum width of items in a tab control. You can send this message explicitly or by using the TabCtrl_SetMinTabWidth macro.

TCM_SETPADDING

Sets the amount of space (padding) around each tab's icon and label in a tab control. You can send this message explicitly or by using the TabCtrl_SetPadding macro.

TCM_SETTOOLTIPS

Assigns a tooltip control to a tab control. You can send this message explicitly or by using the TabCtrl_SetToolTips macro.

TCM_SETUNICODEFORMAT

Sets the Unicode character format flag for the control. This message allows you to change the character set used by the control at run time rather than having to re-create the control. You can send this message explicitly or use the TabCtrl_SetUnicodeFormat macro.

 

Notifications

TopicContents
NM_CLICK (tab)

Notifies the parent window of a tab control that the user has clicked the left mouse button within the control. This notification code is sent in the form of a WM_NOTIFY message.

NM_DBLCLK (tab)

Notifies a parent window of a tab control that the user has double-clicked the left mouse button within the control. This notification is sent in the form of a WM_NOTIFY message.

NM_RCLICK (tab)

Notifies the parent window of a tab control that the user has clicked the right mouse button within the control. This notification code is sent in the form of a WM_NOTIFY message.

NM_RDBLCLK (tab)

Notifies the parent window of a tab control that the user has double-clicked the right mouse button within the control. This notification code is sent in the form of a WM_NOTIFY message.

NM_RELEASEDCAPTURE (tab)

Notifies a tab control's parent window that the control is releasing mouse capture. This notification code is sent in the form of a WM_NOTIFY message.

TCN_FOCUSCHANGE

Notifies a tab control's parent window that the button focus has changed. This notification code is sent in the form of a WM_NOTIFY message.

TCN_GETOBJECT

Sent by a tab control when it has the TCS_EX_REGISTERDROP extended style and an object is dragged over a tab item in the control. This notification code is sent in the form of a WM_NOTIFY message.

TCN_KEYDOWN

Notifies a tab control's parent window that a key has been pressed. This notification code is sent in the form of a WM_NOTIFY message.

TCN_SELCHANGE

Notifies a tab control's parent window that the currently selected tab has changed. This notification code is sent in the form of a WM_NOTIFY message.

TCN_SELCHANGING

Notifies a tab control's parent window that the currently selected tab is about to change. This notification code is sent in the form of a WM_NOTIFY message.

 

Structures

TopicContents
NMTCKEYDOWN

Contains information about a key press in a tab control. It is used with the TCN_KEYDOWN notification code. This structure supersedes the TC_KEYDOWN structure.

TCHITTESTINFO

Contains information about a hit test. This structure supersedes the TC_HITTESTINFO structure.

TCITEM

Specifies or receives the attributes of a tab item. It is used with the TCM_INSERTITEM, TCM_GETITEM, and TCM_SETITEM messages. This structure supersedes the TC_ITEM structure.

TCITEMHEADER

Specifies or receives the attributes of a tab. It is used with the TCM_INSERTITEM, TCM_GETITEM, and TCM_SETITEM messages. This structure supersedes the TC_ITEMHEADER structure.

 

Constants

TopicContents
Tab Control Extended Styles

The tab control now supports extended styles. These styles are manipulated using the TCM_GETEXTENDEDSTYLE and TCM_SETEXTENDEDSTYLE messages and should not be confused with extended window styles that are passed to CreateWindowEx.

Tab Control Item States

Tab control items now support an item state to support the TCM_DESELECTALL message. Additionally, the TCITEM structure supports item state values.

Tab Control Styles

This section lists supported tab control styles.

 

 

 

Community Additions

ADD
Show:
© 2014 Microsoft