CMFCMenuBar クラス

ドッキングを実装するメニュー バーです。 詳細については、Visual Studio のインストールの VC\atlmfc\src\mfc フォルダーにあるソース コードを参照してください。

構文

class CMFCMenuBar : public CMFCToolbar

メンバー

パブリック メソッド

名前 説明
CMFCMenuBar::AdjustLocations ( CMFCToolBar::AdjustLocationsをオーバーライドします)。
CMFCMenuBar::AllowChangeTextLabels ツール バー ボタンの画像の下にテキスト ラベルを表示できるかどうかを指定します。 ( をオーバーライドしますCMFCToolBar::AllowChangeTextLabels.)
CMFCMenuBar::AllowShowOnPaneMenu ( CPane::AllowShowOnPaneMenuをオーバーライドします)。
CMFCMenuBar::CalcFixedLayout ツール バーの水平方向のサイズを計算します。 ( をオーバーライドしますCMFCToolBar::CalcFixedLayout.)
CMFCMenuBar::CalcLayout ( CMFCToolBar::CalcLayoutをオーバーライドします)。
CMFCMenuBar::CalcMaxButtonHeight ツール バーのボタンの最大高さを計算します。 ( をオーバーライドしますCMFCToolBar::CalcMaxButtonHeight.)
CMFCMenuBar::CanBeClosed ユーザーがツール バーを閉じることができるかどうかを指定します。 ( をオーバーライドしますCMFCToolBar::CanBeClosed.)
CMFCMenuBar::CanBeRestored カスタマイズ後にツール バーを元の状態に戻すことができるかどうかを判断します。 ( をオーバーライドしますCMFCToolBar::CanBeRestored.)
CMFCMenuBar::Create メニュー コントロールを作成し、 CMFCMenuBar オブジェクトにアタッチします。
CMFCMenuBar::CreateEx 追加のスタイル オプションを使用して CMFCMenuBar オブジェクトを作成します。
CMFCMenuBar::CreateFromMenu CMFCMenuBar オブジェクトを初期化します。 設定された CMFCMenuBarのテンプレートとして機能する HMENU パラメーターを受け取ります。
CMFCMenuBar::EnableHelpCombobox メニュー バーの右側にある Help コンボ ボックスを有効にします。
CMFCMenuBar::EnableMenuShadows ポップアップ メニューの影を表示するかどうかを指定します。
CMFCMenuBar::GetAvailableExpandSize ( をオーバーライドしますCPane::GetAvailableExpandSize.)
CMFCMenuBar::GetColumnWidth ツール バー ボタンの幅を返します。 ( をオーバーライドしますCMFCToolBar::GetColumnWidth.)
CMFCMenuBar::GetDefaultMenu リソース ファイル内の元のメニューへのハンドルを返します。
CMFCMenuBar::GetDefaultMenuResId リソース ファイル内の元のメニューのリソース識別子を返します。
CMFCMenuBar::GetFloatPopupDirection
CMFCMenuBar::GetForceDownArrows
CMFCMenuBar::GetHelpCombobox Help コンボ ボックスへのポインターを返します。
CMFCMenuBar::GetHMenu CMFCMenuBar オブジェクトにアタッチされているメニューのハンドルを返します。
CMFCMenuBar::GetMenuFont メニュー オブジェクトの現在のグローバル フォントを返します。
CMFCMenuBar::GetMenuItem 指定された項目インデックスに関連付けられているツール バー ボタンを返します。
CMFCMenuBar::GetRowHeight ツール バー ボタンの高さを返します。 ( をオーバーライドしますCMFCToolBar::GetRowHeight.)
CMFCMenuBar::GetSystemButton
CMFCMenuBar::GetSystemButtonsCount
CMFCMenuBar::GetSystemMenu
CMFCMenuBar::HighlightDisabledItems 無効なメニュー項目が強調表示されているかどうかを示します。
CMFCMenuBar::IsButtonExtraSizeAvailable 罫線が拡張されたボタンをツール バーに表示できるかどうかを指定します。 ( をオーバーライドしますCMFCToolBar::IsButtonExtraSizeAvailable.)
CMFCMenuBar::IsHighlightDisabledItems 無効な項目が強調表示されているかどうかを示します。
CMFCMenuBar::IsMenuShadows ポップアップ メニューの影を描画するかどうかを示します。
CMFCMenuBar::IsRecentlyUsedMenus 最近使用したメニュー コマンドをメニュー バーに表示するかどうかを示します。
CMFCMenuBar::IsShowAllCommands ポップアップ メニューにすべてのコマンドを表示するかどうかを示します。
CMFCMenuBar::IsShowAllCommandsDelay メニューが少し遅れた後にすべてのコマンドを表示するかどうかを示します。
CMFCMenuBar::LoadState レジストリから CMFCMenuBar オブジェクトの状態を読み込みます。
CMFCMenuBar::OnChangeHot ユーザーがツール バーのボタンを選択すると、フレームワークによって呼び出されます。 ( をオーバーライドしますCMFCToolBar::OnChangeHot.)
CMFCMenuBar::OnDefaultMenuLoaded フレーム ウィンドウがリソース ファイルから既定のメニューを読み込むと、フレームワークによって呼び出されます。
CMFCMenuBar::OnSendCommand ( CMFCToolBar::OnSendCommandをオーバーライドします)。
CMFCMenuBar::OnSetDefaultButtonText メニューがカスタマイズ モードで、ユーザーがメニュー項目のテキストを変更すると、フレームワークによって呼び出されます。
CMFCMenuBar::OnToolHitTest ( CMFCToolBar::OnToolHitTestをオーバーライドします)。
CMFCMenuBar::P reTranslateMessage ( CMFCToolBar::PreTranslateMessageをオーバーライドします)。
CMFCMenuBar::RestoreOriginalstate メニューがカスタマイズ モードで、ユーザーがメニュー バーの Reset を選択すると、フレームワークによって呼び出されます。
CMFCMenuBar::SaveState CMFCMenuBar オブジェクトの状態をレジストリに保存します。
CMFCMenuBar::SetDefaultMenuResId リソース ファイルの元のメニューを設定します。
CMFCMenuBar::SetForceDownArrows
CMFCMenuBar::SetMaximizeMode MDI 子ウィンドウの表示モードが変更されたときにフレームワークによって呼び出されます。 MDI 子ウィンドウが新しく最大化された場合、または最大化されなくなった場合、このメソッドはメニュー バーを更新します。
CMFCMenuBar::SetMenuButtonRTC ユーザーがメニュー ボタンを動的に作成するときに生成されるランタイム クラス情報を設定します。
CMFCMenuBar::SetMenuFont アプリケーション内のすべてのメニューのフォントを設定します。
CMFCMenuBar::SetRecentlyUsedMenus メニュー バーに最近使用したメニュー コマンドを表示するかどうかを指定します。
CMFCMenuBar::SetShowAllCommands メニュー バーにすべてのコマンドを表示するかどうかを指定します。

解説

CMFCMenuBar クラスは、ドッキング機能を実装するメニュー バーです。 ツールバーに似ていますが、閉じることはできませんが、常に表示されます。

CMFCMenuBar では、最近使用したメニュー項目オブジェクトを表示するオプションがサポートされています。 このオプションを有効にすると、 CMFCMenuBar は最初の表示時に使用可能なコマンドのサブセットのみを表示します。 その後、最近使用したコマンドは、コマンドの元のサブセットと共に表示されます。 さらに、ユーザーは常にメニューを展開して、使用可能なすべてのコマンドを表示できます。 したがって、使用可能な各コマンドは、常に表示するか、最近選択された場合にのみ表示するように構成されます。

CMFCMenuBar オブジェクトを使用するには、メイン ウィンドウ フレーム オブジェクトに埋め込みます。 WM_CREATE メッセージを処理するときは、CMFCMenuBar::CreateまたはCMFCMenuBar::CreateExを呼び出します。 使用する作成関数に関係なく、メイン フレーム ウィンドウへのポインターを渡します。 次に、 CFrameWndEx::EnableDocking を呼び出してドッキングを有効にします。 CFrameWndEx::D ockPane を呼び出して、このメニューをドッキングします。

CMFCMenuBar クラスのさまざまなメソッドの使用方法を次の例に示します。 この例では、ウィンドウのスタイルの設定、カスタマイズ ボタンの有効化、ヘルプ ボックスの有効化、ポップアップ メニューのシャドウの有効化、メニュー バーの更新を行う方法を示します。 このコード スニペットは、 IE Demo サンプルの一部です。

CMFCMenuBar m_wndMenuBar;
m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC);
m_wndMenuBar.EnableCustomizeButton(TRUE, -1, _T(""));
// first parameter is the command ID for the button of the Help combo box
// third parameter is the width of the button for the combo box in pixels.
m_wndMenuBar.EnableHelpCombobox(1, _T("enter text here"), 30);
m_wndMenuBar.EnableMenuShadows();
m_wndMenuBar.SetMaximizeMode(true);

継承階層

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCBaseToolBar

CMFCToolBar

CMFCMenuBar

要件

Header: afxmenubar.h

CMFCMenuBar::AdjustLocations

メニュー バーのメニュー項目の位置を調整します。

virtual void AdjustLocations();

解説

CMFCMenuBar::AllowChangeTextLabels

メニュー バーの画像の下でテキスト ラベルを許可するかどうかを指定します。

virtual BOOL AllowChangeTextLabels() const;

戻り値

ユーザーが画像の下にテキスト ラベルを表示することを選択できる場合は TRUE を返します。

解説

CMFCMenuBar::AllowShowOnPaneMenu

virtual BOOL AllowShowOnPaneMenu() const;

戻り値

解説

CMFCMenuBar::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

パラメーター

[入力] bStretch

[in] bHorz

戻り値

解説

CMFCMenuBar::CalcLayout

virtual CSize CalcLayout(
    DWORD dwMode,
    int nLength = -1);

パラメーター

[入力] dwMode

[入力] nLength

戻り値

解説

CMFCMenuBar::CalcMaxButtonHeight

virtual int CalcMaxButtonHeight();

戻り値

解説

CMFCMenuBar::CanBeClosed

virtual BOOL CanBeClosed() const;

戻り値

解説

CMFCMenuBar::CanBeRestored

virtual BOOL CanBeRestored() const;

戻り値

解説

CMFCMenuBar::Create

メニュー コントロールを作成し、 CMFCMenuBar オブジェクトにアタッチします。

virtual BOOL Create(
    CWnd* pParentWnd,
    DWORD dwStyle = AFX_DEFAULT_TOOLBAR_STYLE,
    UINT nID = AFX_IDW_MENUBAR);

パラメーター

pParentWnd
[in]新しい CMFCMenuBar オブジェクトの親ウィンドウへのポインター。

dwStyle
[in]新しいメニュー バーのスタイル。

nID
[in]メニュー バーの子ウィンドウの ID。

戻り値

成功した場合は TRUE、それ以外の場合は FALSE。

解説

CMFCMenuBar オブジェクトを作成したら、Createを呼び出す必要があります。 このメソッドは、 CMFCMenuBar コントロールを作成し、 CMFCMenuBar オブジェクトにアタッチします。

ツール バー のスタイルの詳細については、「 CBasePane::SetPaneStyleを参照してください。

CMFCMenuBar::CreateEx

指定した拡張スタイルを持つ CMFCMenuBar オブジェクトを作成します。

virtual BOOL CreateEx(
    CWnd* pParentWnd,
    DWORD dwCtrlStyle = TBSTYLE_FLAT,
    DWORD dwStyle = AFX_DEFAULT_TOOLBAR_STYLE,
    CRect rcBorders = CRect(1,
    1,
    1,
    1),
    UINT nID =AFX_IDW_MENUBAR);

パラメーター

pParentWnd
[in]新しい CMFCMenuBar オブジェクトの親ウィンドウへのポインター。

dwCtrlStyle
[in]新しいメニュー バーの追加のスタイル。

dwStyle
[in]新しいメニュー バーのメイン スタイル。

rcBorders
[in]CMFCMenuBar オブジェクトの境界線のサイズを指定するCRect パラメーター。

nID
[in]メニュー バーの子ウィンドウの ID。

戻り値

メソッドが成功した場合は 0 以外。それ以外の場合は 0。

解説

ツール バー のスタイルに加えてスタイルを指定する場合は、 CMFCMenuBar::Create の代わりにこの関数を使用する必要があります。 頻繁に使用されるその他のスタイルには、TBSTYLE_TRANSPARENTとCBRS_TOPがあります。

その他のスタイルの一覧については、「 ツール バーコントロールとボタンのスタイルcommon コントロール スタイル、および コマンド ウィンドウ スタイルを参照してください。

次の例では、CMFCMenuBar クラスの CreateEx メソッドを使用する方法を示します。 このコード スニペットは、 IE Demo サンプルの一部です。

CMFCMenuBar m_wndMenuBar;
// The this pointer points to CMainFrame class which extends the CFrameWnd class.
if (!m_wndMenuBar.CreateEx(this, TBSTYLE_TRANSPARENT))
{
   TRACE0("Failed to create menubar\n");
   return -1; // fail to create
}

CMFCMenuBar::CreateFromMenu

CMFCMenuBar オブジェクトを初期化します。 このメソッドは、HMENU パラメーターの後に CMFCMenuBar オブジェクトをモデル化します。

virtual void CreateFromMenu(
    HMENU hMenu,
    BOOL bDefaultMenu = FALSE,
    BOOL bForceUpdate = FALSE);

パラメーター

hMenu
[in]メニュー リソースへのハンドル。 CreateFromMenu では、このリソースを CMFCMenuBarのテンプレートとして使用します。

bDefaultMenu
[in]新しいメニューが既定のメニューかどうかを示すブール値。

bForceUpdate
[in]このメソッドが強制的にメニューを更新するかどうかを示すブール値。

解説

メニュー コントロールにメニュー リソースと同じメニュー項目を含める場合は、このメソッドを使用します。 このメソッドは、 CMFCMenuBar::Create または CMFCMenuBar::CreateEx を呼び出した後に呼び出します。

CMFCMenuBar::EnableHelpCombobox

メニュー バーの右側にある Help コンボ ボックスを有効にします。

void EnableHelpCombobox(
    UINT uiID,
    LPCTSTR lpszPrompt = NULL,
    int nComboBoxWidth = 150);

パラメーター

uiID
[in] Help コンボ ボックスのボタンのコマンド ID。

lpszPrompt
[in]フレームワークが空でアクティブでない場合にコンボ ボックスに表示されるテキストを含む文字列。 たとえば、"ここにテキストを入力してください" などです。

nComboBoxWidth
[in]コンボ ボックスのボタンの幅 (ピクセル単位)。

解説

Help コンボ ボックスは、Microsoft Word のメニュー バーの Help コンボ ボックスに似ています。

このメソッドを uiID 0 に設定して呼び出すと、このメソッドはコンボ ボックスを非表示にします。 それ以外の場合、このメソッドは、メニュー バーの右側にコンボ ボックスを自動的に表示します。 このメソッドを呼び出した後、 CMFCMenuBar::GetHelpCombobox を呼び出して、挿入された CMFCToolBarComboBoxButton オブジェクトへのポインターを取得します。

CMFCMenuBar::EnableMenuShadows

ポップアップ メニューの影を有効にします。

static void EnableMenuShadows(BOOL bEnable = TRUE);

パラメーター

bEnable
[in]ポップアップ メニューで影を有効にする必要があるかどうかを示すブール値パラメーター。

解説

この方法で使用するアルゴリズムは複雑であり、低速システムでのアプリケーションのパフォーマンスが低下する可能性があります。

CMFCMenuBar::GetAvailableExpandSize

virtual int GetAvailableExpandSize() const;

戻り値

解説

CMFCMenuBar::GetColumnWidth

virtual int GetColumnWidth() const;

戻り値

解説

CMFCMenuBar::GetDefaultMenu

元のメニューへのハンドルを取得します。 フレームワークは、リソース ファイルから元のメニューを読み込みます。

HMENU GetDefaultMenu() const;

戻り値

メニュー リソースへのハンドル。

解説

アプリケーションでメニューをカスタマイズする場合は、このメソッドを使用して元のメニューのハンドルを取得できます。

CMFCMenuBar::GetDefaultMenuResId

既定のメニューのリソース識別子を取得します。

UINT GetDefaultMenuResId() const;

戻り値

メニュー リソース識別子。

解説

フレームワークは、リソース ファイルから CMFCMenuBar オブジェクトの既定のメニューを読み込みます。

CMFCMenuBar::GetFloatPopupDirection

int GetFloatPopupDirection(CMFCToolBarMenuButton* pButton);

パラメーター

[入力] pButton

戻り値

解説

CMFCMenuBar::GetForceDownArrows

BOOL GetForceDownArrows();

戻り値

解説

CMFCMenuBar::GetHelpCombobox

Help コンボ ボックスへのポインターを返します。

CMFCToolBarComboBoxButton* GetHelpCombobox();

戻り値

Help コンボ ボックスへのポインター。 Help コンボ ボックスが非表示の場合、または有効になっていない場合は NULL。

解説

Help コンボ ボックスは、メニュー バーの右側にあります。 メソッド CMFCMenuBar::EnableHelpCombobox を呼び出して、このコンボ ボックスを有効にします。

CMFCMenuBar::GetHMenu

CMFCMenuBar オブジェクトにアタッチされているメニューへのハンドルを取得します。

HMENU GetHMenu() const;

CMFCMenuBar::GetMenuFont

現在のメニュー フォントを取得します。

static const CFont& GetMenuFont(BOOL bHorz = TRUE);

パラメーター

bHorz
[in]水平方向または垂直方向のフォントを返すかどうかを指定するブール値パラメーター。 TRUE は、水平方向のフォントを示します。

戻り値

現在のメニュー バーのフォントを含む CFont パラメーターへのポインター。

解説

返されるフォントは、アプリケーションのグローバル パラメーターです。 すべての CMFCMenuBar オブジェクトに対して 2 つのグローバル フォントが保持されます。 これらの個別のフォントは、水平方向と垂直方向のメニュー バーに使用されます。

CMFCMenuBar::GetMenuItem

項目のインデックスに基づいてメニュー バーの CMFCToolBarButton オブジェクトを取得します。

CMFCToolBarButton* GetMenuItem(int iItem) const;

パラメーター

iItem
[in]返すメニュー項目のインデックス。

戻り値

iItem で指定されたインデックスに一致するCMFCToolBarButton オブジェクトへのポインター。 インデックスが無効な場合は NULL。

CMFCMenuBar::GetRowHeight

virtual int GetRowHeight() const;

戻り値

解説

CMFCMenuBar::GetSystemButton

CMFCToolBarMenuButtonsButton* GetSystemButton(
    UINT uiBtn,
    BOOL bByCommand = TRUE) const;

パラメーター

[入力] uiBtn

[入力] bByCommand

戻り値

解説

CMFCMenuBar::GetSystemButtonsCount

int GetSystemButtonsCount() const;

戻り値

解説

CMFCMenuBar::GetSystemMenu

CMFCToolBarSystemMenuButton* GetSystemMenu() const;

戻り値

解説

CMFCMenuBar::HighlightDisabledItems

フレームワークが無効なメニュー項目を強調表示するかどうかを制御します。

static void HighlightDisabledItems(BOOL bHighlight = TRUE);

パラメーター

bHighlight
[in]フレームワークが使用できないメニュー項目を強調表示するかどうかを示すブール型パラメーター。

解説

既定では、ユーザーがマウス ポインターを置いたときに、使用できないメニュー項目は強調表示されません。

CMFCMenuBar::IsButtonExtraSizeAvailable

virtual BOOL IsButtonExtraSizeAvailable() const;

戻り値

解説

CMFCMenuBar::IsHighlightDisabledItems

フレームワークが使用できないメニュー項目を強調表示するかどうかを示します。

static BOOL IsHighlightDisabledItems();

戻り値

使用できないメニュー項目が強調表示されている場合は TRUE。それ以外の場合は FALSE。

解説

既定では、ユーザーがマウス ポインターを置いたときに、使用できないメニュー項目は強調表示されません。 この機能を有効にするには、 CMFCMenuBar::HighlightDisabledItems メソッドを使用します。

CMFCMenuBar::IsMenuShadows

フレームワークがポップアップ メニューの影を描画するかどうかを示します。

static BOOL IsMenuShadows();

戻り値

フレームワークがメニュー シャドウを描画する場合は TRUE。それ以外の場合は FALSE。

解説

この機能を有効または無効にするには、 CMFCMenuBar::EnableMenuShadows メソッドを使用します。

CMFCMenuBar::IsRecentlyUsedMenus

最近使用したメニュー コマンドをメニュー バーに表示するかどうかを示します。

static BOOL IsRecentlyUsedMenus();

戻り値

CMFCMenuBar オブジェクトに最近使用したメニュー コマンドが表示される場合は 0 以外、それ以外の場合は 0。

解説

関数 CMFCMenuBar::SetRecentlyUsedMenus を使用して、最近使用したメニュー コマンドをメニュー バーに表示するかどうかを制御します。

CMFCMenuBar::IsShowAllCommands

メニューにすべてのコマンドを表示するかどうかを示します。

static BOOL IsShowAllCommands();

戻り値

CMFCMenuBarにすべてのコマンドが表示される場合は 0 以外、それ以外の場合は 0。

解説

CMFCMenuBar オブジェクトは、すべてのコマンドを表示するか、コマンドのサブセットのみを表示するように構成できます。 この機能の詳細については、「 CMFCMenuBar クラスを参照してください。

IsShowAllCommands は、 CMFCMenuBar オブジェクトに対してこの機能がどのように構成されているかを示します。 表示されるメニュー コマンドを制御するには、 CMFCMenuBar::SetShowAllCommands および CMFCMenuBar::SetRecentlyUsedMenus メソッドを使用します。

CMFCMenuBar::IsShowAllCommandsDelay

CMFCMenuBar オブジェクトが短い遅延後にすべてのコマンドを表示するかどうかを示します。

static BOOL IsShowAllCommandsDelay();

戻り値

メニュー バーが短い遅延の後に完全なメニューを表示する場合は 0 以外。それ以外の場合は 0。

解説

最近使用した項目を表示するようにメニュー バーを構成すると、メニュー バーには次の 2 つの方法のいずれかで完全なメニューが表示されます。

  • ユーザーがメニューの下部にある矢印の上にカーソルを置いたときから、プログラムされた遅延の後に完全なメニューを表示します。

  • ユーザーがメニューの下部にある矢印をクリックした後、完全なメニューを表示します。

既定では、すべての CMFCMenuBar オブジェクトは、このオプションを使用して、短い遅延後に完全なメニューを表示します。 CMFCMenuBar クラスでは、このオプションをプログラムで変更することはできません。 ただし、 Customize ダイアログ ボックスを使用して、ツール バーのカスタマイズ中に動作を変更できます。

CMFCMenuBar::LoadState

Windows レジストリからメニュー バーの状態を読み込みます。

virtual BOOL LoadState(
    LPCTSTR lpszProfileName = NULL,
    int nIndex = -1,
    UINT uiID = (UINT)-1);

パラメーター

lpszProfileName
[in]Windows レジストリ キーのパスを含む文字列。

nIndex
[in]メニュー バーのコントロール ID。

uiID
[in] 予約値。

戻り値

メソッドが成功した場合は TRUE。それ以外の場合は FALSE。

解説

メニュー バーの状態をレジストリに保存するには、 CMFCMenuBar::SaveState メソッドを使用します。 保存された情報には、メニュー項目、ドッキング状態、およびメニュー バーの位置が含まれます。

ほとんどの場合、アプリケーションは LoadStateを呼び出しません。 フレームワークは、ワークスペースを初期化するときにこのメソッドを呼び出します。

CMFCMenuBar::OnChangeHot

virtual void OnChangeHot(int iHot);

パラメーター

[入力] iHot

解説

CMFCMenuBar::OnDefaultMenuLoaded

フレームワークは、リソース ファイルからメニュー リソースを読み込むときに、このメソッドを呼び出します。

virtual void OnDefaultMenuLoaded(HMENU hMenu);

パラメーター

hMenu
[in] CMFCMenuBar オブジェクトにアタッチされているメニューのハンドル。

解説

この関数の既定の実装は、何も行いません。 フレームワークがリソース ファイルからメニュー リソースを読み込んだ後にカスタム コードを実行するには、この関数をオーバーライドします。

CMFCMenuBar::OnSendCommand

virtual BOOL OnSendCommand(const CMFCToolBarButton* pButton);

パラメーター

[入力] pButton

戻り値

解説

CMFCMenuBar::OnSetDefaultButtonText

フレームワークは、ユーザーがメニュー バーの項目のテキストを変更するときに、このメソッドを呼び出します。

virtual BOOL OnSetDefaultButtonText(CMFCToolBarButton* pButton);

パラメーター

pButton
[in]ユーザーがカスタマイズする CMFCToolBarButton オブジェクトへのポインター。

戻り値

フレームワークがメニュー バーにユーザーの変更を適用する場合は TRUE。それ以外の場合は FALSE。

解説

このメソッドの既定の実装では、ボタンのテキストがユーザーが提供するテキストに変更されます。

CMFCMenuBar::OnToolHitTest

virtual INT_PTR OnToolHitTest(
    CPoint point,
    TOOLINFO* pTI) const;

パラメーター

[入力] point

[入力] pTI

戻り値

解説

CMFCMenuBar::P reTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

パラメーター

[入力] pMsg

戻り値

解説

CMFCMenuBar::RestoreOriginalstate

ユーザーが Customize ダイアログ ボックスから Reset を選択したときにフレームワークによって呼び出されます。

virtual BOOL RestoreOriginalstate();

戻り値

メソッドが成功した場合は 0 以外。それ以外の場合は 0。

解説

このメソッドは、ユーザーがカスタマイズ メニューから Reset を選択したときに呼び出されます。 このメソッドを手動で呼び出して、プログラムによってメニュー バーの状態をリセットすることもできます。 このメソッドは、リソース ファイルから元の状態を読み込みます。

ユーザーが Reset オプションを選択したときに処理を実行する場合は、このメソッドをオーバーライドします。

CMFCMenuBar::SaveState

CMFCMenuBar オブジェクトの状態を Windows レジストリに保存します。

virtual BOOL SaveState (
    LPCTSTR lpszProfileName = NULL,
    int nIndex = -1,
    UINT uiID = (UINT)-1);

パラメーター

lpszProfileName
[in]Windows レジストリ キーのパスを含む文字列。

nIndex
[in]メニュー バーのコントロール ID。

uiID
[in] 予約値。

戻り値

成功した場合は TRUE。それ以外の場合は FALSE。

解説

通常、アプリケーションは SaveStateを呼び出しません。 フレームワークは、ワークスペースがシリアル化されるときにこのメソッドを呼び出します。 詳細については、「 CWinAppEx::SaveStateを参照してください。

保存された情報には、メニュー項目、ドッキング状態、およびメニュー バーの位置が含まれます。

CMFCMenuBar::SetDefaultMenuResId

リソース ID に基づいて、 CMFCMenuBar オブジェクトの既定のメニューを設定します。

void SetDefaultMenuResId(UINT uiResId);

パラメーター

uiResId
[in]新しい既定のメニューのリソース ID。

解説

CMFCMenuBar::RestoreOriginalstate メソッドは、リソース ファイルから既定のメニューを復元します。

CMFCMenuBar::GetDefaultMenuResId メソッドを使用して、復元せずに既定のメニューを取得します。

CMFCMenuBar::SetForceDownArrows

void SetForceDownArrows(BOOL bValue);

パラメーター

[入力] bValue

解説

CMFCMenuBar::SetMaximizeMode

フレームワークは、MDI が表示モードを変更し、メニュー バーを更新する必要がある場合に、このメソッドを呼び出します。

void SetMaximizeMode(
    BOOL bMax,
    CWnd* pWnd = NULL,
    BOOL bRecalcLayout = TRUE);

パラメーター

bMax
[in]モードを指定するブール値。 詳細については、次の「解説」を参照してください。

pWnd
[in]変更中の MDI 子ウィンドウへのポインター。

bRecalcLayout
[in]メニュー バーのレイアウトを直ちに再計算するかどうかを指定するブール値。

解説

MDI 子ウィンドウが最大化されると、MDI メイン フレーム ウィンドウに接続されているメニュー バーにシステム メニューが表示され、 MinimizeMaximize および Close ボタンが表示されます。 bMax が TRUE で、pWnd が NULL でない場合、MDI 子ウィンドウが最大化され、メニュー バーに追加のコントロールが組み込まれている必要があります。 それ以外の場合、メニュー バーは通常の状態に戻ります。

CMFCMenuBar::SetMenuButtonRTC

ユーザーがメニュー ボタンを作成するときにフレームワークが使用するランタイム クラス情報を設定します。

void SetMenuButtonRTC(CRuntimeClass* pMenuButtonRTC);

パラメーター

pMenuButtonRTC
[in]CRuntimeClassCMFCMenuButton クラスから派生したクラスの情報

解説

ユーザーがメニュー バーに新しいボタンを追加すると、フレームワークによってボタンが動的に作成されます。 既定では、 CMFCMenuButton オブジェクトが作成されます。 フレームワークが作成するボタン オブジェクトの種類を変更するには、このメソッドをオーバーライドします。

CMFCMenuBar::SetMenuFont

アプリケーション内のすべてのメニュー バーのフォントを設定します。

static BOOL SetMenuFont(
    LPLOGFONT lpLogFont,
    BOOL bHorz = TRUE);

パラメーター

lpLogFont
[in]設定するフォントを定義する LOGFONT 構造体へのポインター。

bHorz
[in]垂直フォントに lpLogFont パラメーターを使用する場合は TRUE、水平フォントに使用する場合は FALSE。

戻り値

メソッドが成功した場合は TRUE。それ以外の場合は FALSE。

解説

すべての CMFCMenuBar オブジェクトに 2 つのフォントが使用されます。 これらの個別のフォントは、水平方向と垂直方向のメニュー バーに使用されます。

フォント設定はグローバル変数であり、すべての CMFCMenuBar オブジェクトに影響します。

CMFCMenuBar::SetRecentlyUsedMenus

メニュー バーに最近使用したメニュー コマンドを表示するかどうかを制御します。

static void SetRecentlyUsedMenus (BOOL bOn = TRUE);

パラメーター

ボン
[in]最近使用したメニュー コマンドを表示するかどうかを制御するブール値。

CMFCMenuBar::SetShowAllCommands

メニューに使用可能なすべてのコマンドを表示するかどうかを制御します。

static void SetShowAllCommands(BOOL bShowAllCommands = TRUE);

パラメーター

bShowAllCommands
[in]ポップアップ メニューにすべてのメニュー コマンドを表示するかどうかを指定するブール型パラメーター。

解説

メニューにすべてのメニュー コマンドが表示されない場合、ほとんど使用されないコマンドは非表示になります。 メニュー コマンドの表示の詳細については、「 CMFCMenuBar クラスを参照してください。

関連項目

階層図
クラス
CMFCToolBar クラス