次の方法で共有


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 ポップアップ メニューからメニュー項目を 1 つ削除します。
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);

解説

アプリケーションでリボン ボタンを使用するには、ボタン オブジェクトを作成し、適切なリボン panelに追加します。

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();

戻り値

解説

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);

パラメーター

[入力] pDC
[入力] bCalcOnly

戻り値

解説

CMFCRibbonButton::D rawImage

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

パラメーター

[入力] pDC
[入力] 種類
[入力] rectImage

解説

CMFCRibbonButton::D rawRibbonText

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

パラメーター

[入力] pDC
[入力] strText
[入力] rectText
[入力] uiDTFlags
[入力] clrText

戻り値

解説

CMFCRibbonButton::FindSubItemIndexByID

指定したコマンド ID に関連付けられたポップアップ メニュー項目のインデックスを返します。

int FindSubItemIndexByID(UINT uiID) const;

パラメーター

uiID
[in]ポップアップ メニュー項目のコマンド ID を指定します。

戻り値

uiIDに関連付けられているサブ項目の 0 から始まるインデックス。 そのようなサブ項目がない場合は -1。

CMFCRibbonButton::GetCommandRect

CRect GetCommandRect() const;

戻り値

解説

CMFCRibbonButton::GetCompactSize

virtual CSize GetCompactSize(CDC* pDC);

パラメーター

[入力] pDC

戻り値

解説

CMFCRibbonButton::GetIcon

HICON GetIcon(BOOL bLargeIcon = TRUE) const;

パラメーター

[入力] bLargeIcon

戻り値

解説

CMFCRibbonButton::GetImageIndex

ボタンに関連付けられているイメージのインデックスを返します。

int GetImageIndex(BOOL bLargeImage) const;

パラメーター

bLargeImage
[in]TRUE の場合は、大きなイメージを含むイメージ リスト内のイメージ インデックスを返します。それ以外の場合は、小さなイメージを含むイメージ リスト内のイメージ インデックスを返します。

戻り値

関連付けられたイメージ リスト内のボタンのイメージのインデックス。

CMFCRibbonButton::GetImageSize

virtual CSize GetImageSize(RibbonImageType type) const;

パラメーター

[入力] 種類

戻り値

解説

CMFCRibbonButton::GetIntermediateSize

virtual CSize GetIntermediateSize(CDC* pDC);

パラメーター

[入力] pDC

戻り値

解説

CMFCRibbonButton::GetMenu

リボン ボタンに割り当てられている Windows メニューのハンドルを返します。

HMENU GetMenu() const;

戻り値

ボタンに割り当てられた Windows メニューへのハンドル。メニューが割り当てられていない場合は NULL。

CMFCRibbonButton::GetMenuRect

CRect GetMenuRect() const;

戻り値

解説

CMFCRibbonButton::GetRegularSize

virtual CSize GetRegularSize(CDC* pDC);

パラメーター

[入力] pDC

戻り値

解説

CMFCRibbonButton::GetSubItems

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

戻り値

解説

CMFCRibbonButton::GetTextRowHeight

int GetTextRowHeight() const;

戻り値

解説

CMFCRibbonButton::GetToolTipText

virtual CString GetToolTipText() const;

戻り値

解説

CMFCRibbonButton::HasCompactMode

virtual BOOL HasCompactMode() const;

戻り値

解説

CMFCRibbonButton::HasIntermediateMode

virtual BOOL HasIntermediateMode() const;

戻り値

解説

CMFCRibbonButton::HasLargeMode

virtual BOOL HasLargeMode() const;

戻り値

解説

CMFCRibbonButton::HasMenu

virtual BOOL HasMenu() const;

戻り値

解説

CMFCRibbonButton::IsAlwaysDrawBorder

virtual BOOL IsAlwaysDrawBorder() const;

戻り値

解説

CMFCRibbonButton::IsAlwaysLargeImage

virtual BOOL IsAlwaysLargeImage() const;

戻り値

解説

CMFCRibbonButton::IsApplicationButton

virtual BOOL IsApplicationButton() const;

戻り値

解説

CMFCRibbonButton::IsCommandAreaHighlighted

virtual BOOL IsCommandAreaHighlighted() const;

戻り値

解説

CMFCRibbonButton::IsDefaultCommand

リボン ボタンの既定のコマンドを有効にするかどうかを指定します。

BOOL IsDefaultCommand() const;

戻り値

リボン ボタンの既定のコマンドを有効にしている場合は TRUE。それ以外の場合は FALSE。

CMFCRibbonButton::IsDefaultPanelButton

virtual BOOL IsDefaultPanelButton() const;

戻り値

解説

CMFCRibbonButton::IsDrawTooltipImage

virtual BOOL IsDrawTooltipImage() const;

戻り値

解説

CMFCRibbonButton::IsLargeImage

BOOL IsLargeImage() const;

戻り値

解説

CMFCRibbonButton::IsMenuAreaHighlighted

virtual BOOL IsMenuAreaHighlighted() const;

戻り値

解説

CMFCRibbonButton::IsMenuOnBottom

BOOL IsMenuOnBottom() const;

戻り値

解説

CMFCRibbonButton::IsPopupDefaultMenuLook

virtual BOOL IsPopupDefaultMenuLook() const;

戻り値

解説

CMFCRibbonButton::IsRightAlignMenu

メニューが右揃えかどうかを指定します。

BOOL IsRightAlignMenu() const;

戻り値

メニューが右揃えの場合は TRUE。それ以外の場合は FALSE。

CMFCRibbonButton::IsSingleLineText

BOOL IsSingleLineText() const;

戻り値

解説

CMFCRibbonButton::OnCalcTextSize

virtual void OnCalcTextSize(CDC* pDC);

パラメーター

[入力] pDC

解説

CMFCRibbonButton::OnClick

ユーザーがボタンをクリックすると、フレームワークによって呼び出されます。

virtual void OnClick(CPoint point);

パラメーター

point
[in]マウス クリックの位置を指定します。

解説

このイベントを処理する場合は、派生クラスでこのメソッドをオーバーライドします。

CMFCRibbonButton::OnDraw

virtual void OnDraw(CDC* pDC);

パラメーター

[入力] pDC

解説

CMFCRibbonButton::OnDrawBorder

virtual void OnDrawBorder(CDC* pDC);

パラメーター

[入力] pDC

解説

CMFCRibbonButton::OnFillBackground

virtual COLORREF OnFillBackground(CDC* pDC);

パラメーター

[入力] pDC

戻り値

解説

CMFCRibbonButton::RemoveAllSubItems

ポップアップ メニューからメニュー項目をすべて削除します。

void RemoveAllSubItems();

CMFCRibbonButton::RemoveSubItem

ポップアップ メニューからメニュー項目を 1 つ削除します。

BOOL RemoveSubItem(int nIndex);

パラメーター

nIndex
[in]削除するメニュー項目の 0 から始まるインデックスを指定します。

戻り値

指定した項目が正常に削除された場合は TRUE。それ以外の場合は FALSE nIndex が負の値であるか、ポップアップ メニューのメニュー項目の数を超えています。

CMFCRibbonButton::SetACCData

リボン ボタンのアクセシビリティ データを設定します。

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

パラメーター

pParent
リボン要素の親ウィンドウ。

data
リボン要素のアクセシビリティ データ。

戻り値

成功した場合は 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);

パラメーター

[入力] 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);

パラメーター

[入力] pParent

解説

CMFCRibbonButton::SetRightAlignMenu

ポップアップ メニューをボタンの端に合わせます。

void SetRightAlignMenu(BOOL bSet=TRUE);

パラメーター

bSet
[in]TRUE の場合、メニューは右揃えになります。 それ以外の場合、メニューは左揃えになります。

CMFCRibbonButton::SetText

virtual void SetText(LPCTSTR lpszText);

パラメーター

[入力] lpszText

解説

関連項目

階層図
クラス