Share via


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 メニュー バーの 右側にあるヘルプ コンボ ボックスを有効にします。
CMFCMenuBar::EnableMenuShadows ポップアップ メニューの影を表示するかどうかを指定します。
CMFCMenuBar::GetAvailableExpandSize (オーバーライド CPane::GetAvailableExpandSize.)
CMFCMenuBar::GetColumnWidth ツール バー ボタンの幅を返します。 (オーバーライド CMFCToolBar::GetColumnWidth.)
CMFCMenuBar::GetDefaultMenu リソース ファイル内の元のメニューへのハンドルを返します。
CMFCMenuBar::GetDefaultMenuResId リソース ファイル内の元のメニューのリソース識別子を返します。
CMFCMenuBar::GetFloatPopupDirection
CMFCMenuBar::GetForceDownArrows
CMFCMenuBar::GetHelpCombobox ヘルプ コンボ ボックスへのポインターを返します。
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 メニューがカスタマイズ モードで、ユーザーがメニュー バーの [リセット] を選択すると、フレームワークによって呼び出されます。
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 デモ サンプル一部です。

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

必要条件

ヘッダー: 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);

パラメーター

[in] bStretch

[in] bHorz

戻り値

解説

CMFCMenuBar::CalcLayout

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

パラメーター

[in] dwMode

[in] 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] CRect オブジェクトの境界線のサイズを指定する CMFCMenuBar パラメーター。

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

戻り値

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

解説

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

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

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

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

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

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

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

パラメーター

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

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

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

解説

[ヘルプ] コンボ ボックスは、Microsoft Word のメニュー バーの [ヘルプ] コンボ ボックスに似ています。

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

パラメーター

[in] pButton

戻り値

解説

CMFCMenuBar::GetForceDownArrows

BOOL GetForceDownArrows();

戻り値

解説

CMFCMenuBar::GetHelpCombobox

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

CMFCToolBarComboBoxButton* GetHelpCombobox();

戻り値

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

解説

[ヘルプ] コンボ ボックスは、メニュー バーの右側にあります。 このコンボ ボックスを有効にするには、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;

パラメーター

[in] uiBtn

[in] 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。それ以外の場合は FAL Standard Edition。

解説

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

CMFCMenuBar::IsMenuShadows

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

static BOOL IsMenuShadows();

戻り値

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

解説

この機能を 有効または無効にするには、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 変更することはできません。 ただし、ユーザーは、[カスタマイズ] ダイアログ ボックスを使用して、ツール バーのカスタマイズ中に動作を変更できます。

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。それ以外の場合は FAL Standard Edition。

解説

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

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

CMFCMenuBar::OnChangeHot

virtual void OnChangeHot(int iHot);

パラメーター

[in] iHot

解説

CMFCMenuBar::OnDefaultMenuLoaded

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

virtual void OnDefaultMenuLoaded(HMENU hMenu);

パラメーター

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

解説

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

CMFCMenuBar::OnSendCommand

virtual BOOL OnSendCommand(const CMFCToolBarButton* pButton);

パラメーター

[in] pButton

戻り値

解説

CMFCMenuBar::OnSetDefaultButtonText

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

virtual BOOL OnSetDefaultButtonText(CMFCToolBarButton* pButton);

パラメーター

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

戻り値

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

解説

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

CMFCMenuBar::OnToolHitTest

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

パラメーター

[入力] point

[in] Pti

戻り値

解説

CMFCMenuBar::P reTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

パラメーター

[入力] pMsg

戻り値

解説

CMFCMenuBar::RestoreOriginalstate

ユーザーが [カスタマイズ] ダイアログ ボックスから [リセット] を選択すると、フレームワークによって呼び出されます。

virtual BOOL RestoreOriginalstate();

戻り値

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

解説

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

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

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。それ以外の場合は FAL Standard Edition;

解説

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

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

CMFCMenuBar::SetDefaultMenuResId

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

void SetDefaultMenuResId(UINT uiResId);

パラメーター

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

解説

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

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

CMFCMenuBar::SetForceDownArrows

void SetForceDownArrows(BOOL bValue);

パラメーター

[in] bValue

解説

CMFCMenuBar::SetMaximizeMode

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

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

パラメーター

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

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

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

解説

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

CMFCMenuBar::SetMenuButtonRTC

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

void SetMenuButtonRTC(CRuntimeClass* pMenuButtonRTC);

パラメーター

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

解説

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

CMFCMenuBar::SetMenuFont

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

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

パラメーター

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

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

戻り値

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

解説

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

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

CMFCMenuBar::SetRecentlyUsedMenus

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

static void SetRecentlyUsedMenus (BOOL bOn = TRUE);

パラメーター

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

CMFCMenuBar::SetShowAllCommands

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

static void SetShowAllCommands(BOOL bShowAllCommands = TRUE);

パラメーター

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

解説

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

関連項目

階層図
クラス
CMFCToolBar クラス