CCmdUI クラスCCmdUI Class

ON_UPDATE_COMMAND_UI 、派生クラスのハンドラー内でのみ使用され CCmdTarget ます。Is used only within an ON_UPDATE_COMMAND_UI handler in a CCmdTarget-derived class.

構文Syntax

class CCmdUI

メンバーMembers

パブリック メソッドPublic Methods

名前Name 説明Description
CCmdUI:: ContinueRoutingCCmdUI::ContinueRouting は、現在のメッセージのルーティングをハンドラーのチェーンの下位にルーティングするようにコマンドルーティング機構に指示します。Tells the command-routing mechanism to continue routing the current message down the chain of handlers.
CCmdUI:: EnableCCmdUI::Enable このコマンドのユーザーインターフェイス項目を有効または無効にします。Enables or disables the user-interface item for this command.
CCmdUI:: SetCheckCCmdUI::SetCheck このコマンドのユーザーインターフェイス項目のチェックの状態を設定します。Sets the check state of the user-interface item for this command.
CCmdUI:: SetRadioCCmdUI::SetRadio SetCheckメンバー関数と同様ですが、ラジオグループで動作します。Like the SetCheck member function, but operates on radio groups.
CCmdUI:: SetTextCCmdUI::SetText このコマンドのユーザーインターフェイス項目のテキストを設定します。Sets the text for the user-interface item for this command.

パブリック データ メンバーPublic Data Members

名前Name 説明Description
CCmdUI:: m_nIDCCmdUI::m_nID ユーザーインターフェイスオブジェクトの ID。The ID of the user-interface object.
CCmdUI:: m_nIndexCCmdUI::m_nIndex ユーザーインターフェイスオブジェクトのインデックス。The index of the user-interface object.
CCmdUI:: m_pMenuCCmdUI::m_pMenu オブジェクトによって表されるメニューをポイントし CCmdUI ます。Points to the menu represented by the CCmdUI object.
CCmdUI:: m_pOtherCCmdUI::m_pOther 通知を送信したウィンドウオブジェクトを指します。Points to the window object that sent the notification.
CCmdUI:: m_pSubMenuCCmdUI::m_pSubMenu オブジェクトによって表される、含まれているサブメニューを指し CCmdUI ます。Points to the contained sub-menu represented by the CCmdUI object.

解説Remarks

CCmdUI に基底クラスがありません。CCmdUI does not have a base class.

アプリケーションのユーザーがメニューを取得すると、各メニュー項目は、[有効] または [無効] と表示されているかどうかを確認する必要があります。When a user of your application pulls down a menu, each menu item needs to know whether it should be displayed as enabled or disabled. メニューコマンドのターゲットは、ON_UPDATE_COMMAND_UI ハンドラーを実装することによってこの情報を提供します。The target of a menu command provides this information by implementing an ON_UPDATE_COMMAND_UI handler. アプリケーションの各コマンドユーザーインターフェイスオブジェクトに対して、 クラスウィザード または プロパティ ウィンドウ ( クラスビュー) を使用して、各ハンドラーのメッセージマップエントリと関数プロトタイプを作成します。For each of the command user-interface objects in your application, use the Class Wizard or Properties window (in Class View) to create a message-map entry and function prototype for each handler.

メニューがプルダウンされると、フレームワークは各 ON_UPDATE_COMMAND_UI ハンドラーを検索して呼び出します。各ハンドラーはやなどのメンバー関数を呼び出し、 CCmdUI Enable Check フレームワークは各メニュー項目を適切に表示します。When the menu is pulled down, the framework searches for and calls each ON_UPDATE_COMMAND_UI handler, each handler calls CCmdUI member functions such as Enable and Check, and the framework then appropriately displays each menu item.

メニュー項目は、ハンドラー内のコードを変更することなく、コントロールバーボタンまたはその他のコマンドユーザーインターフェイスオブジェクトに置き換えることができ ON_UPDATE_COMMAND_UI ます。A menu item can be replaced with a control-bar button or other command user-interface object without changing the code within the ON_UPDATE_COMMAND_UI handler.

次の表は、 CCmdUI さまざまなコマンドユーザーインターフェイス項目に対する効果のメンバー関数の概要を示しています。The following table summarizes the effect CCmdUI's member functions have on various command user-interface items.

User-Interface 項目User-Interface Item 有効にするEnable SetCheckSetCheck SetRadioSetRadio SetTextSetText
メニュー項目Menu item 有効または無効にするEnables or disables 確認またはオフにするChecks or unchecks ドットを使用したチェックChecks using a dot 項目のテキストを設定しますSets item text
ツール バー ボタンToolbar button 有効または無効にするEnables or disables 選択、選択解除、または不確定Selects, unselects, or indeterminate SetCheck と同じSame as SetCheck (該当なし)(Not applicable)
ステータスバーウィンドウStatus-bar pane テキストを表示または非表示にしますMakes text visible or invisible ポップアウトまたは通常の罫線を設定しますSets pop-out or normal border SetCheck と同じSame as SetCheck ペインテキストの設定Sets pane text
の通常のボタン CDialogBarNormal button in CDialogBar 有効または無効にするEnables or disables チェックボックスをオンまたはオフにします。Checks or unchecks check box SetCheck と同じSame as SetCheck ボタンのテキストを設定しますSets button text
通常のコントロール CDialogBarNormal control in CDialogBar 有効または無効にするEnables or disables (該当なし)(Not applicable) (該当なし)(Not applicable) ウィンドウテキストを設定しますSets window text

このクラスの使用の詳細については、「 How To Update User-Interface Objects」を参照してください。For more on the use of this class, see How to Update User-Interface Objects.

継承階層Inheritance Hierarchy

CCmdUI

要件Requirements

ヘッダー: afxwin.hHeader: afxwin.h

CCmdUI:: ContinueRoutingCCmdUI::ContinueRouting

このメンバー関数を呼び出して、現在のメッセージのルーティングを続行するようにコマンドルーティング機構に指示します。Call this member function to tell the command-routing mechanism to continue routing the current message down the chain of handlers.

void ContinueRouting();

解説Remarks

これは、FALSE を返す ON_COMMAND_EX ハンドラーと組み合わせて使用する必要がある高度なメンバー関数です。This is an advanced member function that should be used in conjunction with an ON_COMMAND_EX handler that returns FALSE. 詳細については、「 テクニカルノート 6」を参照してください。For more information, see Technical Note 6.

CCmdUI:: EnableCCmdUI::Enable

このメンバー関数を呼び出して、このコマンドのユーザーインターフェイス項目を有効または無効にします。Call this member function to enable or disable the user-interface item for this command.

virtual void Enable(BOOL bOn = TRUE);

パラメーターParameters

楽しいbOn
項目を有効にする場合は TRUE、無効にする場合は FALSE。TRUE to enable the item, FALSE to disable it.

Example

ON_UPDATE_COMMAND_UI(ID_FILE_SAVE, &CMyDoc::OnUpdateFileSave)
void CMyDoc::OnUpdateFileSave(CCmdUI *pCmdUI)
{
   // Enable the menu item if the file has been modified.
   pCmdUI->Enable(m_bModified);
}

CCmdUI:: m_nIDCCmdUI::m_nID

オブジェクトによって表されるメニュー項目、ツールバーボタン、またはその他のユーザーインターフェイスオブジェクトの ID CCmdUIThe ID of the menu item, toolbar button, or other user-interface object represented by the CCmdUI object.

UINT m_nID;

CCmdUI:: m_nIndexCCmdUI::m_nIndex

オブジェクトによって表されるメニュー項目、ツールバーボタン、またはその他のユーザーインターフェイスオブジェクトのインデックス CCmdUIThe index of the menu item, toolbar button, or other user-interface object represented by the CCmdUI object.

UINT m_nIndex;

CCmdUI:: m_pMenuCCmdUI::m_pMenu

CMenuオブジェクトによって表されるメニューへのポインター (型) CCmdUIPointer (of CMenu type) to the menu represented by the CCmdUI object.

CMenu* m_pMenu;

解説Remarks

項目がメニューでない場合は NULL。NULL if the item is not a menu.

CCmdUI:: m_pSubMenuCCmdUI::m_pSubMenu

CMenuオブジェクトによって表される、格納されているサブメニューへのポインター (型) CCmdUIPointer (of CMenu type) to the contained sub-menu represented by the CCmdUI object.

CMenu* m_pSubMenu;

解説Remarks

項目がメニューでない場合は NULL。NULL if the item is not a menu. サブメニューがポップアップの場合、 m_nID には、ポップアップメニューの最初の項目の ID が含まれます。If the sub menu is a pop-up, m_nID contains the ID of the first item in the pop-up menu. 詳細については、「 テクニカルノート 21」を参照してください。For more information, see Technical Note 21.

CCmdUI:: m_pOtherCCmdUI::m_pOther

通知を送信し CWnd たウィンドウオブジェクトに対する (型の) ポインター (ツールやステータスバーなど)。Pointer (of type CWnd) to the window object, such as a tool or status bar, that sent the notification.

CWnd* m_pOther;

解説Remarks

項目がメニューまたは非オブジェクトである場合は NULL CWndNULL if the item is a menu or a non- CWnd object.

CCmdUI:: SetCheckCCmdUI::SetCheck

このメンバー関数を呼び出して、このコマンドのユーザーインターフェイス項目を適切なチェック状態に設定します。Call this member function to set the user-interface item for this command to the appropriate check state.

virtual void SetCheck(int nCheck = 1);

パラメーターParameters

nnCheck
設定するチェック状態を指定します。Specifies the check state to set. 0の場合は、オフにします。1の場合、をチェックします。2の場合、は不確定を設定します。If 0, unchecks; if 1, checks; and if 2, sets indeterminate.

解説Remarks

このメンバー関数は、メニュー項目とツールバーボタンに対して機能します。This member function works for menu items and toolbar buttons. 不確定状態は、ツールバーボタンにのみ適用されます。The indeterminate state applies only to toolbar buttons.

CCmdUI:: SetRadioCCmdUI::SetRadio

このメンバー関数を呼び出して、このコマンドのユーザーインターフェイス項目を適切なチェック状態に設定します。Call this member function to set the user-interface item for this command to the appropriate check state.

virtual void SetRadio(BOOL bOn = TRUE);

パラメーターParameters

楽しいbOn
項目を有効にする場合は TRUE。それ以外の場合は FALSE。TRUE to enable the item; otherwise FALSE.

解説Remarks

このメンバー関数はと同じように動作し SetCheck ますが、ラジオグループの一部として機能するユーザーインターフェイス項目で動作する点が異なります。This member function operates like SetCheck, except that it operates on user-interface items acting as part of a radio group. グループ内の他の項目をオフにすることは、項目自体がラジオグループの動作を維持していない限り、自動ではありません。Unchecking the other items in the group is not automatic unless the items themselves maintain the radio-group behavior.

CCmdUI:: SetTextCCmdUI::SetText

このメンバー関数を呼び出して、このコマンドのユーザーインターフェイス項目のテキストを設定します。Call this member function to set the text of the user-interface item for this command.

virtual void SetText(LPCTSTR lpszText);

パラメーターParameters

lpszTextlpszText
テキスト文字列へのポインター。A pointer to a text string.

Example

void CMyRichEditView::OnUpdateLineNumber(CCmdUI *pCmdUI)
{
   int nLine = GetRichEditCtrl().LineFromChar(-1) + 1;

   CString string;
   string.Format(_T("Line %d"), nLine);
   pCmdUI->Enable(TRUE);
   pCmdUI->SetText(string);
}

関連項目See also

MFC のサンプル MDIMFC Sample MDI
階層図Hierarchy Chart
CCmdTarget クラスCCmdTarget Class