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);
解説
アプリケーションでリボン ボタンを使用するには、ボタン オブジェクトを作成し、適切なリボン 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));
継承階層
要件
ヘッダー: 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