CMFCRibbonButton 클래스
CMFCRibbonButton
클래스는 패널, 빠른 실행 도구 모음 및 팝업 메뉴와 같은 리본 막대 요소에 배치할 수 있는 단추를 구현합니다.
더 자세한 내용은 Visual Studio 설치의 VC\atlmfc\src\mfc 폴더에 있는 소스 코드를 참조하세요.
구문
class CMFCRibbonButton : public CMFCRibbonBaseElement
멤버
공용 생성자
속성 | 설명 |
---|---|
CMFCRibbonButton::CMFCRibbonButton | 리본 단추 개체를 생성합니다. |
공용 메서드
보호된 메서드
속성 | 설명 |
---|---|
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));
상속 계층 구조
요구 사항
헤더: 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