CCmdUI クラス

-derived クラスの ON_UPDATE_COMMAND_UI ハンドラー内 CCmdTargetでのみ使用されます。

構文

class CCmdUI

メンバー

パブリック メソッド

名前 説明
CCmdUI::ContinueRouting 現在のメッセージをハンドラーのチェーンにルーティングし続けるよう、コマンド ルーティング メカニズムに指示します。
CCmdUI::Enable このコマンドのユーザー インターフェイス項目を有効または無効にします。
CCmdUI::SetCheck このコマンドのユーザー インターフェイス項目のチェック状態を設定します。
CCmdUI::SetRadio メンバー関数と SetCheck 同様ですが、無線グループで動作します。
CCmdUI::SetText このコマンドのユーザー インターフェイス項目のテキストを設定します。

パブリック データ メンバー

名前 説明
CCmdUI::m_nID ユーザー インターフェイス オブジェクトの ID。
CCmdUI::m_nIndex ユーザー インターフェイス オブジェクトのインデックス。
CCmdUI::m_pMenu オブジェクトによって表されるメニューを CCmdUI ポイントします。
CCmdUI::m_pOther 通知を送信したウィンドウ オブジェクトをポイントします。
CCmdUI::m_pSubMenu オブジェクトによって表される、含まれているサブメニューを CCmdUI ポイントします。

解説

CCmdUI には基底クラスはありません。

アプリケーションのユーザーがメニューをプルダウンすると、各メニュー項目は、それが有効または無効として表示される必要があるかどうかを認識する必要があります。 メニュー コマンドのターゲットは、ON_UPDATE_COMMAND_UI ハンドラーを実装することによってこの情報を提供します。 アプリケーションのコマンド ユーザー インターフェイス オブジェクトごとに、クラス ウィザードまたはプロパティ ウィンドウ (クラス ビュー) を使用して、各ハンドラーのメッセージ マップ エントリと関数プロトタイプを作成します。

メニューがプルダウンされると、フレームワークは各ON_UPDATE_COMMAND_UI ハンドラーを検索して呼び出し、各ハンドラーはメンバー関数をEnableCheck呼び出CCmdUIし、フレームワークは各メニュー項目を適切に表示します。

メニュー項目は、ハンドラー内のコードを変更せずに、コントロール バー ボタンまたはその他のコマンド ユーザー インターフェイス オブジェクトに ON_UPDATE_COMMAND_UI 置き換えることができます。

次の表は、さまざまなコマンド ユーザー インターフェイス項目に対するメンバー関数の効果 CCmdUIをまとめたものです。

ユーザー インターフェイス項目 有効にする​​ SetCheck SetRadio SetText
メニュー項目 有効または無効にする チェックまたは解除チェック ドットを使用したチェック 項目のテキストを設定します
ツール バー ボタン 有効または無効にする 選択、選択解除、または不確定 SetCheck と同じ (該当なし)
ステータス バー ウィンドウ テキストを表示または非表示にする ポップアウトまたは標準の境界線を設定します SetCheck と同じ ウィンドウ のテキストを設定する
[標準] ボタン CDialogBar 有効または無効にする チェック ボックスまたはチェックチェックボックスの解除 SetCheck と同じ ボタンのテキストを設定します
通常のコントロール CDialogBar 有効または無効にする (該当なし) (該当なし) ウィンドウ テキストを設定する

このクラスの使用方法の詳細については、「ユーザー インターフェイス オブジェクトを更新する方法」を参照してください

継承階層

CCmdUI

必要条件

ヘッダー: afxwin.h

CCmdUI::ContinueRouting

このメンバー関数を呼び出して、現在のメッセージをハンドラーのチェーンにルーティングし続けるよう、コマンド ルーティング メカニズムに指示します。

void ContinueRouting();

解説

これは、FAL Standard Edition を返すON_COMMAND_EX ハンドラーと組み合わせて使用する必要がある高度なメンバー関数です。 詳細については、テクニカル ノート 6 を参照してください

CCmdUI::Enable

このメンバー関数を呼び出して、このコマンドのユーザー インターフェイス項目を有効または無効にします。

virtual void Enable(BOOL bOn = TRUE);

パラメーター

ボン
アイテムを有効にする場合は TRUE、無効にするには FAL Standard Edition。

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_nID

メニュー項目、ツール バー ボタン、またはオブジェクトによって表されるその他のユーザー インターフェイス オブジェクトの CCmdUI ID。

UINT m_nID;

CCmdUI::m_nIndex

メニュー項目、ツール バー ボタン、またはオブジェクトによって表されるその他のユーザー インターフェイス オブジェクトの CCmdUI インデックス。

UINT m_nIndex;

CCmdUI::m_pMenu

オブジェクトによってCMenuCCmdUI表されるメニューへのポインター (型)。

CMenu* m_pMenu;

解説

項目がメニューでない場合は NULL。

CCmdUI::m_pSubMenu

オブジェクトによって CMenu 表される CCmdUI 、含まれているサブメニューへのポインター (型)。

CMenu* m_pSubMenu;

解説

項目がメニューでない場合は NULL。 サブメニューがポップアップの場合、 m_nID には、ポップアップ メニューの最初の項目の ID が含まれます。 詳細については、テクニカル ノート 21 を参照してください

CCmdUI::m_pOther

通知を送信したウィンドウ オブジェクト (ツールやステータス バーなど) へのポインター (型 CWnd)。

CWnd* m_pOther;

解説

項目がメニューまたはオブジェクト CWnd 以外の場合は NULL。

CCmdUI::SetCheck

このメンバー関数を呼び出して、このコマンドのユーザー インターフェイス項目を適切なチェック状態に設定します。

virtual void SetCheck(int nCheck = 1);

パラメーター

nCheck
設定するチェック状態を指定します。 0、unチェックs、1 の場合は チェック;、2 の場合は不確定を設定します。

解説

このメンバー関数は、メニュー項目とツール バー ボタンに対して機能します。 不確定な状態は、ツール バー ボタンにのみ適用されます。

CCmdUI::SetRadio

このメンバー関数を呼び出して、このコマンドのユーザー インターフェイス項目を適切なチェック状態に設定します。

virtual void SetRadio(BOOL bOn = TRUE);

パラメーター

ボン
項目を有効にする場合は TRUE。それ以外の場合は FAL Standard Edition。

解説

このメンバー関数は、無線グループの一部として機能するユーザー インターフェイス項目で動作する点を除き、同様 SetCheckに動作します。 グループ内の他の項目のチェック解除は、項目自体が無線グループの動作をメインしない限り、自動ではありません。

CCmdUI::SetText

このメンバー関数を呼び出して、このコマンドのユーザー インターフェイス項目のテキストを設定します。

virtual void SetText(LPCTSTR lpszText);

パラメーター

lpszText
テキスト文字列へのポインター。

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

関連項目

MFC サンプル MDI
階層図
CCmdTarget クラス