CMFCCaptionButton Class

The CMFCCaptionButton class implements a button that is displayed on the caption bar for a docking pane or a mini-frame window. Typically, the framework creates caption buttons automatically.

Syntax

class CMFCCaptionButton : public CObject

Members

Constructors

Name Description
CMFCCaptionButton::CMFCCaptionButton Constructs a CMFCCaptionButton object.

Public Methods

Name Description
CMFCCaptionButton::GetHit Returns the command represented by the button.
CMFCCaptionButton::GetIconID Returns the image ID associated with the button.
CMFCCaptionButton::GetRect Returns the rectangle occupied by the button.
CMFCCaptionButton::GetSize Returns the width and height of the button.
CMFCCaptionButton::IsMiniFrameButton Indicates whether the title bar height is set to mini size.
CMFCCaptionButton::Move Sets the button draw location and window show state.
CMFCCaptionButton::OnDraw Draws the caption button.
CMFCCaptionButton::SetMiniFrameButton Sets the mini size of the title bar.

Remarks

You can derive a class from CPaneFrameWnd Class and use the protected method, AddButton, to add caption buttons to a mini frame window.

CPaneFrameWnd.h defines command IDs for two types of caption buttons:

  • AFX_CAPTION_BTN_PIN, which displays a pin button when the docking pane supports auto-hide mode.

  • AFX_CAPTION_BTN_CLOSE, which displays a Close button when the pane can be closed or hidden.

Example

The following example demonstrates how to construct a CMFCCaptionButton object and set the mini size of the title bar.

CMFCCaptionButton *captionButton = new CMFCCaptionButton(AFX_HTCLOSE);
captionButton->SetMiniFrameButton(true);

Inheritance Hierarchy

CObject

CMFCCaptionButton

Requirements

Header: afxcaptionbutton.h

CMFCCaptionButton::CMFCCaptionButton

Constructs a CMFCCaptionButton object.

CMFCCaptionButton();

CMFCCaptionButton(
    UINT nHit,
    BOOL bLeftAlign = FALSE);

Parameters

nHit
[in] The command associated with the button.

bLeftAlign
[in] Specifies whether the button is aligned to the left.

The following table lists possible values for the nHit parameter.

Value Command
AFX_HTCLOSE Close button.
HTMINBUTTON Minimize button.
HTMAXBUTTON Maximize button.
AFX_HTLEFTBUTTON Left arrow button.
AFX_HTRIGHTBUTTON Right arrow button.
AFX_HTMENU Down arrow menu button.
HTNOWHERE The default value; represents no command.

Remarks

By default, caption buttons are not associated with a command.

Caption buttons are aligned either on the right or left.

CMFCCaptionButton::GetHit

Returns the command represented by the button.

UINT GetHit() const;

Return Value

The command represented by the button.

The following table lists possible return values.

Value Command
AFX_HTCLOSE Close button.
HTMINBUTTON Minimize button.
HTMAXBUTTON Maximize button.
AFX_HTLEFTBUTTON Left arrow button.
AFX_HTRIGHTBUTTON Right arrow button.
AFX_HTMENU Down arrow menu button.
HTNOWHERE The default value; represents no command.

CMFCCaptionButton::GetIconID

Returns the image ID associated with the button.

virtual CMenuImages::IMAGES_IDS GetIconID(
    BOOL bHorz,
    BOOL bMaximized = FALSE) const;

Parameters

bHorz
[in] TRUE for left or right arrow image IDs; FALSE for up or down arrow image IDs.

bMaximized
[in] TRUE for a maximize image ID; FALSE for a minimize image ID.

Return Value

The image ID.

Remarks

The parameters specify image IDs for minimize or maximize caption buttons.

CMFCCaptionButton::GetRect

Returns the rectangle occupied by the button.

virtual CRect GetRect() const;

Return Value

The rectangle that represents the location of the button.

Remarks

If you cannot see the button, the size returned is 0.

CMFCCaptionButton::GetSize

Returns the width and height of the button.

static CSize GetSize();

Return Value

The outer dimensions of the button.

Remarks

The size returned includes button margin and border.

CMFCCaptionButton::IsMiniFrameButton

Indicates whether the title bar height is set to mini size.

BOOL IsMiniFrameButton() const;

Return Value

TRUE if the caption is set to mini size; otherwise FALSE.

Remarks

CMFCCaptionButton::Move

Sets the button draw location and window show state.

void Move(
    const CPoint& ptTo,
    BOOL bHide = FALSE);

Parameters

ptTo
[in] The new location.

bHide
[in] Whether to show the button.

CMFCCaptionButton::OnDraw

Draws the caption button.

virtual void OnDraw(
    CDC* pDC,
    BOOL bActive,
    BOOL bHorz = TRUE,
    BOOL bMaximized = TRUE,
    BOOL bDisabled = FALSE);

Parameters

pDC
[in] Pointer to a device context for the button.

bActive
[in] Whether to draw an active button image.

bHorz
[in] Reserved for use in a derived class.

bMaximized
[in] Whether to draw a maximized button image.

bDisabled
[in] Whether to draw an enabled button image.

Remarks

The bMaximized parameter is used when the button is a maximize or minimize button.

CMFCCaptionButton::SetMiniFrameButton

Sets the mini size of the title bar.

void SetMiniFramebutton(BOOL bSet = TRUE);

Parameters

bSet
[in] TRUE for mini title bar height; FALSE for default title bar height.

See also

Hierarchy Chart
Classes
CPaneFrameWnd Class
CDockablePane Class