다음을 통해 공유


CMFCRibbonButton 클래스

CMFCRibbonButton 클래스는 패널, 빠른 실행 도구 모음 및 팝업 메뉴와 같은 리본 막대 요소에 배치할 수 있는 단추를 구현합니다.

더 자세한 내용은 Visual Studio 설치의 VC\atlmfc\src\mfc 폴더에 있는 소스 코드를 참조하세요.

구문

class CMFCRibbonButton : public CMFCRibbonBaseElement

멤버

공용 생성자

속성 설명
CMFCRibbonButton::CMFCRibbonButton 리본 단추 개체를 생성합니다.

공용 메서드

이름 설명
CMFCRibbonButton::AddSubItem 단추와 연결되는 메뉴 항목을 팝업 메뉴에 추가합니다.
CMFCRibbonButton::CanBeStretched (재정의 CMFCRibbonBaseElement::CanBeStretched.)
CMFCRibbonButton::CleanUpSizes (재정의 CMFCRibbonBaseElement::CleanUpSizes.)
CMFCRibbonButton::ClosePopupMenu (재정의 CMFCRibbonBaseElement::ClosePopupMenu.)
CMFCRibbonButton::D rawBottomText
CMFCRibbonButton::D rawImage (재정의 CMFCRibbonBaseElement::D rawImage.)
CMFCRibbonButton::D rawRibbonText
CMFCRibbonButton::FindSubItemIndexByID 지정된 명령 ID와 연결된 팝업 메뉴 항목의 인덱스를 반환합니다.
CMFCRibbonButton::GetCommandRect
CMFCRibbonButton::GetCompactSize 리본 요소의 압축 크기를 반환합니다. (재정의 CMFCRibbonBaseElement::GetCompactSize.)
CMFCRibbonButton::GetIcon
CMFCRibbonButton::GetImageIndex 단추와 연결된 이미지의 인덱스를 반환합니다.
CMFCRibbonButton::GetImageSize 리본 요소의 이미지 크기를 반환합니다. (재정의 CMFCRibbonBaseElement::GetImageSize.)
CMFCRibbonButton::GetIntermediateSize 중간 상태인 리본 요소의 크기를 반환합니다. (재정의 CMFCRibbonBaseElement::GetIntermediateSize.)
CMFCRibbonButton::GetMenu 리본 단추에 할당된 Windows 메뉴에 대한 핸들을 반환합니다.
CMFCRibbonButton::GetMenuRect
CMFCRibbonButton::GetRegularSize 리본 요소의 보통 크기를 반환합니다. (재정의 CMFCRibbonBaseElement::GetRegularSize.)
CMFCRibbonButton::GetSubItems
CMFCRibbonButton::GetTextRowHeight
CMFCRibbonButton::GetToolTipText 리본 요소의 도구 설명 텍스트를 반환합니다. (재정의 CMFCRibbonBaseElement::GetToolTipText.)
CMFCRibbonButton::HasCompactMode 리본 요소에 압축 모드가 있는지 여부를 지정합니다. (재정의 CMFCRibbonBaseElement::HasCompactMode.)
CMFCRibbonButton::HasIntermediateMode 리본 요소에 중간 모드가 있는지 여부를 지정합니다. (재정의 CMFCRibbonBaseElement::HasIntermediateMode.)
CMFCRibbonButton::HasLargeMode 리본 요소에 큰 모드가 있는지 여부를 결정합니다. (재정의 CMFCRibbonBaseElement::HasLargeMode.)
CMFCRibbonButton::HasMenu (재정의 CMFCRibbonBaseElement::HasMenu.)
CMFCRibbonButton::IsAlwaysDrawBorder
CMFCRibbonButton::IsAlwaysLargeImage (재정의 CMFCRibbonBaseElement::IsAlwaysLargeImage.)
CMFCRibbonButton::IsApplicationButton
CMFCRibbonButton::IsCommandAreaHighlighted
CMFCRibbonButton::IsDefaultCommand 리본 단추에 대한 기본 명령을 사용하도록 설정했는지 여부를 확인합니다.
CMFCRibbonButton::IsDefaultPanelButton
CMFCRibbonButton::IsDrawTooltipImage
CMFCRibbonButton::IsLargeImage
CMFCRibbonButton::IsMenuAreaHighlighted
CMFCRibbonButton::IsMenuOnBottom
CMFCRibbonButton::IsPopupDefaultMenuLook
CMFCRibbonButton::IsRightAlignMenu 메뉴가 오른쪽 맞춤인지 여부를 확인합니다.
CMFCRibbonButton::IsSingleLineText
CMFCRibbonButton::OnCalcTextSize (재정의 CMFCRibbonBaseElement::OnCalcTextSize.)
CMFCRibbonButton::OnDrawBorder
CMFCRibbonButton::OnDraw 리본 요소를 그리기 위해 프레임워크에서 호출됩니다. (재정의 CMFCRibbonBaseElement::OnDraw.)
CMFCRibbonButton::OnFillBackground
CMFCRibbonButton::RemoveAllSubItems 팝업 메뉴에서 모든 메뉴 항목을 제거합니다.
CMFCRibbonButton::RemoveSubItem 팝업 메뉴에서 메뉴 항목을 제거합니다.
CMFCRibbonButton::SetACCData (재정의 CMFCRibbonBaseElement::SetACCData.)
CMFCRibbonButton::SetAlwaysLargeImage 사용자가 단추를 축소하면 단추가 큰 이미지나 작은 이미지 중 어느 것을 표시하는지를 지정합니다.
CMFCRibbonButton::SetDefaultCommand 리본 단추에 대한 기본 명령을 사용하도록 설정합니다.
CMFCRibbonButton::SetDescription 리본 요소에 대한 설명을 설정합니다. (재정의 CMFCRibbonBaseElement::SetDescription.)
CMFCRibbonButton::SetImageIndex 단추 이미지에 인덱스를 할당합니다.
CMFCRibbonButton::SetMenu 리본 단추에 팝업 메뉴를 할당합니다.
CMFCRibbonButton::SetParentCategory (재정의 CMFCRibbonBaseElement::SetParentCategory.)
CMFCRibbonButton::SetRightAlignMenu 팝업 메뉴를 단추 오른쪽에 맞춥니다.
CMFCRibbonButton::SetText 리본 요소의 텍스트를 설정합니다. (재정의 CMFCRibbonBaseElement::SetText.)

보호된 메서드

속성 설명
CMFCRibbonButton::OnClick 사용자가 단추를 클릭하면 프레임워크에서 호출됩니다.

예시

다음 예제에서는 CMFCRibbonButton 클래스에서 다양한 메서드를 사용하는 방법을 보여 줍니다. 예제에서는 CMFCRibbonButton 클래스의 개체를 생성하고, 리본 단추에 팝업 메뉴를 할당하고, 단추 설명을 설정하고, 팝업 메뉴에서 메뉴 항목을 제거하고, 팝업 메뉴를 단추 가장자리로 오른쪽 맞춤하는 방법을 설명합니다.

strTemp.LoadString(IDS_RIBBON_STYLE);
// The first parameter is the command ID of the button.
// The third parameter is a zero-based index of the button's small image in the
// image list of the parent category.
// The fourth parameter is a zero-based index of the button's large image in the
// image list of the parent category.
CMFCRibbonButton *pVisualStyleButton = new CMFCRibbonButton(1, strTemp, -1, -1);

pVisualStyleButton->SetMenu(IDR_THEME_MENU, TRUE, TRUE);

strTemp.LoadString(IDS_RIBBON_STYLE_TIP);
pVisualStyleButton->SetToolTipText(strTemp);
strTemp.LoadString(IDS_RIBBON_STYLE_DESC);
pVisualStyleButton->SetDescription(strTemp);
pVisualStyleButton->RemoveSubItem(0);
pVisualStyleButton->SetRightAlignMenu(TRUE);

설명

애플리케이션에서 리본 단추를 사용하려면 단추 개체를 구성하고 적절한 리본 패널에 추가합니다.

CMFCRibbonPanel* pPanel = pCategory->AddPanel (
    _T("Clipboard"), // Panel name
    m_PanelIcons.ExtractIcon (0)); // Panel icon

// Create the first button ("Paste"):
CMFCRibbonButton* pPasteButton =
    new CMFCRibbonButton (ID_EDIT_PASTE, _T("Paste"), -1, 0);

// The third parameter (-1) disables small images for button.
// This button is always displayed with a large image
// Associate a pop-up menu with the "Paste" button:
pPasteButton->SetMenu (IDR_CONTEXT_MENU);

// Add buttons to the panel. These buttons have only small images.
pPanel->Add (new CMFCRibbonButton (ID_EDIT_CUT, _T("Cut"), 1));
pPanel->Add (new CMFCRibbonButton (ID_EDIT_COPY, _T("Copy"), 2));
pPanel->Add (new CMFCRibbonButton (ID_EDIT_PAINT, _T("Paint"), 9));

상속 계층 구조

CObject

CMFCRibbonBaseElement

CMFCRibbonButton

요구 사항

헤더: afxribbonbutton.h

CMFCRibbonButton::AddSubItem

단추와 연결되는 메뉴 항목을 팝업 메뉴에 추가합니다.

void AddSubItem(
    CMFCRibbonBaseElement* pSubItem,
    int nIndex=-1);

매개 변수

pSubItem
[in] 추가할 새 요소에 대한 포인터를 지정합니다.

nIndex
[in] 단추의 메뉴 항목 배열에 요소를 추가할 인덱스를 지정합니다. -1을 선택하여 메뉴 항목 배열의 끝에 요소를 추가합니다.

CMFCRibbonButton::CanBeStretched

virtual BOOL CanBeStretched();

Return Value

설명

CMFCRibbonButton::CleanUpSizes

virtual void CleanUpSizes();

설명

CMFCRibbonButton::ClosePopupMenu

virtual void ClosePopupMenu();

설명

CMFCRibbonButton::CMFCRibbonButton

리본 단추 개체를 생성합니다.

CMFCRibbonButton(
    UINT nID,
    LPCTSTR lpszText,
    int nSmallImageIndex=-1,
    int nLargeImageIndex=-1,
    BOOL bAlwaysShowDescription=FALSE);

CMFCRibbonButton(
    UINT nID,
    LPCTSTR lpszText,
    HICON hIcon,
    BOOL bAlwaysShowDescription=FALSE,
    HICON hIconSmall=NULL,
    BOOL bAutoDestroyIcon=FALSE,
    BOOL bAlphaBlendIcon=FALSE);

매개 변수

nID
[in] 단추의 명령 ID를 지정합니다.

lpszText
[in] 단추의 텍스트 레이블을 지정합니다.

nSmallImageIndex
[in] 부모 범주의 이미지 목록에서 단추의 작은 이미지 인덱스(0부터 시작하는 인덱스)를 지정합니다.

nLargeImageIndex
[in] 부모 범주의 이미지 목록에서 단추의 큰 이미지 인덱스(0부터 시작하는 인덱스)를 지정합니다.

hIcon
[in] 애플리케이션이 단추의 이미지로 사용하는 아이콘에 대한 핸들을 지정합니다.

예시

다음 예제에서는 개체를 생성하는 CMFCRibbonButton 방법을 보여 줍니다.

strTemp.LoadString(IDS_RIBBON_CUT);
CMFCRibbonButton *butn = new CMFCRibbonButton(ID_EDIT_CUT, strTemp, 1);
butn->SetKeys(_T("k"));

CMFCRibbonButton::D rawBottomText

CSize DrawBottomText(
    CDC* pDC,
    BOOL bCalcOnly);

매개 변수

[in] pDC
[in] bCalcOnly

Return Value

설명

CMFCRibbonButton::D rawImage

virtual void DrawImage(
    CDC* pDC,
    RibbonImageType type,
    CRect rectImage);

매개 변수

[in] pDC
[in]
[in] rectImage

설명

CMFCRibbonButton::D rawRibbonText

virtual int DrawRibbonText(
    CDC* pDC,
    const CString& strText,
    CRect rectText,
    UINT uiDTFlags,
    COLORREF clrText = (COLORREF)-1);

매개 변수

[in] pDC
[in] strText
[in] rectText
[in] uiDTFlags
[in] clrText

Return Value

설명

CMFCRibbonButton::FindSubItemIndexByID

지정된 명령 ID와 연결된 팝업 메뉴 항목의 인덱스를 반환합니다.

int FindSubItemIndexByID(UINT uiID) const;

매개 변수

uiID
[in] 팝업 메뉴 항목의 명령 ID를 지정합니다.

Return Value

uiID와 연결된 하위 항목의 인덱스(0부터 시작)입니다. 이러한 하위 항목이 없으면 -1입니다.

CMFCRibbonButton::GetCommandRect

CRect GetCommandRect() const;

Return Value

설명

CMFCRibbonButton::GetCompactSize

virtual CSize GetCompactSize(CDC* pDC);

매개 변수

[in] pDC

Return Value

설명

CMFCRibbonButton::GetIcon

HICON GetIcon(BOOL bLargeIcon = TRUE) const;

매개 변수

[in] bLargeIcon

Return Value

설명

CMFCRibbonButton::GetImageIndex

단추와 연결된 이미지의 인덱스를 반환합니다.

int GetImageIndex(BOOL bLargeImage) const;

매개 변수

bLargeImage
[in] TRUE이면 큰 이미지가 포함된 이미지 목록의 이미지 인덱스를 반환합니다. 그렇지 않으면 작은 이미지가 포함된 이미지 목록의 이미지 인덱스를 반환합니다.

Return Value

연결된 이미지 목록에 있는 단추 이미지의 인덱스입니다.

CMFCRibbonButton::GetImageSize

virtual CSize GetImageSize(RibbonImageType type) const;

매개 변수

[in]

Return Value

설명

CMFCRibbonButton::GetIntermediateSize

virtual CSize GetIntermediateSize(CDC* pDC);

매개 변수

[in] pDC

Return Value

설명

CMFCRibbonButton::GetMenu

리본 단추에 할당된 Windows 메뉴에 대한 핸들을 반환합니다.

HMENU GetMenu() const;

Return Value

단추에 할당된 Windows 메뉴에 대한 핸들입니다. 할당된 메뉴가 없는 경우 NULL입니다.

CMFCRibbonButton::GetMenuRect

CRect GetMenuRect() const;

Return Value

설명

CMFCRibbonButton::GetRegularSize

virtual CSize GetRegularSize(CDC* pDC);

매개 변수

[in] pDC

Return Value

설명

CMFCRibbonButton::GetSubItems

const CArray<CMFCRibbonBaseElement*, CMFCRibbonBaseElement*>& GetSubItems() const;

Return Value

설명

CMFCRibbonButton::GetTextRowHeight

int GetTextRowHeight() const;

Return Value

설명

CMFCRibbonButton::GetToolTipText

virtual CString GetToolTipText() const;

Return Value

설명

CMFCRibbonButton::HasCompactMode

virtual BOOL HasCompactMode() const;

Return Value

설명

CMFCRibbonButton::HasIntermediateMode

virtual BOOL HasIntermediateMode() const;

Return Value

설명

CMFCRibbonButton::HasLargeMode

virtual BOOL HasLargeMode() const;

Return Value

설명

CMFCRibbonButton::HasMenu

virtual BOOL HasMenu() const;

Return Value

설명

CMFCRibbonButton::IsAlwaysDrawBorder

virtual BOOL IsAlwaysDrawBorder() const;

Return Value

설명

CMFCRibbonButton::IsAlwaysLargeImage

virtual BOOL IsAlwaysLargeImage() const;

Return Value

설명

CMFCRibbonButton::IsApplicationButton

virtual BOOL IsApplicationButton() const;

Return Value

설명

CMFCRibbonButton::IsCommandAreaHighlighted

virtual BOOL IsCommandAreaHighlighted() const;

Return Value

설명

CMFCRibbonButton::IsDefaultCommand

리본 단추의 기본 명령을 사용할지 여부를 지정합니다.

BOOL IsDefaultCommand() const;

Return Value

리본 단추에 대한 기본 명령을 사용하도록 설정한 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.

CMFCRibbonButton::IsDefaultPanelButton

virtual BOOL IsDefaultPanelButton() const;

Return Value

설명

CMFCRibbonButton::IsDrawTooltipImage

virtual BOOL IsDrawTooltipImage() const;

Return Value

설명

CMFCRibbonButton::IsLargeImage

BOOL IsLargeImage() const;

Return Value

설명

CMFCRibbonButton::IsMenuAreaHighlighted

virtual BOOL IsMenuAreaHighlighted() const;

Return Value

설명

CMFCRibbonButton::IsMenuOnBottom

BOOL IsMenuOnBottom() const;

Return Value

설명

CMFCRibbonButton::IsPopupDefaultMenuLook

virtual BOOL IsPopupDefaultMenuLook() const;

Return Value

설명

CMFCRibbonButton::IsRightAlignMenu

메뉴가 오른쪽 맞춤인지 여부를 지정합니다.

BOOL IsRightAlignMenu() const;

Return Value

메뉴가 오른쪽 맞춤인 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.

CMFCRibbonButton::IsSingleLineText

BOOL IsSingleLineText() const;

Return Value

설명

CMFCRibbonButton::OnCalcTextSize

virtual void OnCalcTextSize(CDC* pDC);

매개 변수

[in] pDC

설명

CMFCRibbonButton::OnClick

사용자가 단추를 클릭하면 프레임워크에서 호출됩니다.

virtual void OnClick(CPoint point);

매개 변수

point
[in] 마우스 클릭 위치를 지정합니다.

설명

이 이벤트를 처리하려는 경우 파생 클래스에서 이 메서드를 재정의합니다.

CMFCRibbonButton::OnDraw

virtual void OnDraw(CDC* pDC);

매개 변수

[in] pDC

설명

CMFCRibbonButton::OnDrawBorder

virtual void OnDrawBorder(CDC* pDC);

매개 변수

[in] pDC

설명

CMFCRibbonButton::OnFillBackground

virtual COLORREF OnFillBackground(CDC* pDC);

매개 변수

[in] pDC

Return Value

설명

CMFCRibbonButton::RemoveAllSubItems

팝업 메뉴에서 모든 메뉴 항목을 제거합니다.

void RemoveAllSubItems();

CMFCRibbonButton::RemoveSubItem

팝업 메뉴에서 메뉴 항목을 제거합니다.

BOOL RemoveSubItem(int nIndex);

매개 변수

nIndex
[in] 제거할 메뉴 항목의 인덱스(0부터 시작)를 지정합니다.

Return Value

지정된 항목이 성공적으로 제거되었으면 TRUE입니다. nIndex가 음수이거나 팝업 메뉴의 메뉴 항목 수를 초과하는 경우 그렇지 않으면 FALSE입니다.

CMFCRibbonButton::SetACCData

리본 단추에 대한 내게 필요한 옵션 데이터를 설정합니다.

virtual BOOL SetACCData(
    CWnd* pParent,
    CAccessibilityData& data);

매개 변수

pParent
리본 요소에 대한 부모 창입니다.

data
리본 요소에 대한 내게 필요한 옵션 데이터입니다.

Return Value

성공하면 TRUE를 반환합니다. 그렇지 않으면 FALSE입니다.

설명

CMFCRibbonButton::SetAlwaysLargeImage

사용자가 단추를 축소하면 단추가 큰 이미지나 작은 이미지 중 어느 것을 표시하는지를 지정합니다.

void SetAlwaysLargeImage(BOOL bSet=TRUE);

매개 변수

bSet
[in] TRUE이면 단추에 큰 이미지가 표시됩니다. 그렇지 않으면 단추에 작은 이미지가 표시됩니다.

CMFCRibbonButton::SetDefaultCommand

리본 단추에 대한 기본 명령을 사용하도록 설정합니다.

void SetDefaultCommand(BOOL bSet=TRUE);

매개 변수

bSet
[in] TRUE이면 단추가 기본 명령을 실행할 수 있습니다. FALSE이면 단추가 기본 명령을 실행할 수 없습니다.

설명

bSet 은 단추에 메뉴가 있는 경우에만 관련이 있습니다. bSet이 TRUE이면 단추가 기본 명령을 실행할 수 있으며 사용자가 단추의 오른쪽 가장자리에 있는 화살표를 클릭할 때만 할당된 팝업 메뉴가 나타납니다. 그렇지 않으면 단추가 기본 명령을 실행할 수 없으며 사용자가 클릭한 단추의 영역에 관계없이 팝업 메뉴가 나타납니다.

CMFCRibbonButton::SetDescription

virtual void SetDescription(LPCTSTR lpszText);

매개 변수

[in] lpszText

설명

CMFCRibbonButton::SetImageIndex

단추 이미지에 인덱스를 할당합니다.

void SetImageIndex(
    int nIndex,
    BOOL bLargeImage);

매개 변수

nIndex
[in] 이미지 인덱스를 지정합니다.

bLargeImage
[in] TRUE이면 지정된 인덱스가 큰 이미지 목록을 참조합니다. 그렇지 않으면 인덱스가 작은 이미지 목록을 참조합니다.

CMFCRibbonButton::SetMenu

리본 단추에 팝업 메뉴를 할당합니다.

void SetMenu(
    HMENU hMenu,
    BOOL bIsDefaultCommand=FALSE,
    BOOL bRightAlign=FALSE);

void SetMenu(
    UINT uiMenuResID,
    BOOL bIsDefaultCommand=FALSE,
    BOOL bRightAlign=FALSE);

매개 변수

hMenu
Windows 메뉴에 대한 핸들입니다.

bIsDefaultCommand
TRUE이면 단추가 기본 명령을 실행할 수 있습니다. 그렇지 않으면 단추에 팝업 메뉴가 표시됩니다.

bRightAlign
TRUE이면 메뉴가 오른쪽에 맞춰집니다. 그렇지 않으면 메뉴가 왼쪽에 맞춰집니다.

uiMenuResID
메뉴 리소스 ID입니다.

설명

애플리케이션이 단추에 메뉴를 할당하면 단추는 오른쪽에 화살표를 표시합니다. bIsDefaultCommand가 TRUE이면 사용자가 화살표를 클릭할 때만 메뉴가 나타납니다. 사용자가 단추를 클릭하면 기본 명령이 실행됩니다. bIsDefaultCommand가 FALSE이면 단추의 아무 곳이나 클릭하여 메뉴가 나타납니다.

CMFCRibbonButton::SetParentCategory

virtual void SetParentCategory(CMFCRibbonCategory* pParent);

매개 변수

[in] pParent

설명

CMFCRibbonButton::SetRightAlignMenu

팝업 메뉴를 단추 가장자리에 맞춥니다.

void SetRightAlignMenu(BOOL bSet=TRUE);

매개 변수

bSet
[in] TRUE이면 메뉴가 오른쪽에 맞춰집니다. 그렇지 않으면 메뉴가 왼쪽에 맞춰집니다.

CMFCRibbonButton::SetText

virtual void SetText(LPCTSTR lpszText);

매개 변수

[in] lpszText

설명

참고 항목

계층 구조 차트
클래스