次の方法で共有


CMFCKeyMapDialog クラス

CMFCKeyMapDialog クラスは、キーボードのキーにコマンドをマップするコントロールをサポートしています。

構文

class CMFCKeyMapDialog : public CDialogEx

メンバー

パブリック コンストラクター

名前 説明
CMFCKeyMapDialog::CMFCKeyMapDialog CMFCKeyMapDialog オブジェクトを構築します。

パブリック メソッド

名前 説明
CMFCKeyMapDialog::D oModal キーボード マッピング ダイアログ ボックスを表示します。

保護メソッド

名前 説明
CMFCKeyMapDialog::FormatItem キー マッピングを記述する文字列を構築するためにフレームワークによって呼び出されます。 既定では、文字列にはコマンド名、使用されるショートカット キー、およびショートカット キーの説明が含まれます。
CMFCKeyMapDialog::GetCommandKeys 指定したコマンドに関連付けられているショートカット キーの一覧を含む文字列を取得します。
CMFCKeyMapDialog::OnInsertItem キーボード マッピング コントロールをサポートする内部リスト コントロールに新しい項目が挿入される前に、フレームワークによって呼び出されます。
CMFCKeyMapDialog::OnPrintHeader キーボード マップのヘッダーを新しいページに出力するためにフレームワークによって呼び出されます。
CMFCKeyMapDialog::OnPrintItem キーボード マッピング項目を出力するためにフレームワークによって呼び出されます。
CMFCKeyMapDialog::OnSetColumns キーボード マッピング コントロールをサポートする内部リスト コントロール内の列のキャプションを設定するためにフレームワークによって呼び出されます。
CMFCKeyMapDialog::P rintKeyMap ユーザーが Print ボタンをクリックしたときにフレームワークによって呼び出されます。
CMFCKeyMapDialog::SetColumnsWidth キーボード マッピング コントロールをサポートする内部リスト コントロールの列の幅を設定するためにフレームワークによって呼び出されます。

解説

CMFCKeyMapDialog クラスを使用して、サイズ変更可能なキーボード マッピング ダイアログ ボックスを実装します。 このダイアログ ボックスでは、リスト ビュー コントロールを使用して、キーボード ショートカットとそれに関連するコマンドを表示します。

アプリケーションで CMFCKeyMapDialog クラスを使用するには、メイン フレーム ウィンドウへのポインターをパラメーターとして CMFCKeyMapDialog コンストラクターに渡します。 次に、 DoModal メソッドを呼び出してモーダル ダイアログ ボックスを開始します。

継承階層

CObject

CCmdTarget

CWnd

CDialog

CDialogEx

CMFCKeyMapDialog

要件

Header: afxkeymapdialog.h

CMFCKeyMapDialog::CMFCKeyMapDialog

CMFCKeyMapDialog オブジェクトを構築します。

CMFCKeyMapDialog(
    CFrameWnd* pWndParentFrame,
    BOOL bEnablePrint=FALSE);

パラメーター

pWndParentFrame
[in] CMFCKeyMapDialog オブジェクトの親ウィンドウへのポインター。

bEnablePrint
[in]アクセラレータ キーの一覧を印刷できる場合は TRUE。それ以外の場合は FALSE。 既定値は FALSE です。

解説

次の例では、 CMFCKeyMapDialog クラスのオブジェクトを構築する方法を示します。 この例は、 Visual Studio Demo サンプルの一部です。

// this points to a CMainFrame class which extends the 
// CMDIFrameWndEx class
CMFCKeyMapDialog dlg(this, TRUE /* Enable Print */);

CMFCKeyMapDialog::D oModal

キーボード マッピング ダイアログ ボックスを表示します。

virtual INT_PTR DoModal();

戻り値

CDialog::EndDialog メソッドに渡される符号付き整数 (IDOK、IDCANCEL など)。 このメソッドは、ダイアログ ボックスを閉じます。 詳細については、「 CDialog::D oModalを参照してください。

解説

キーボード マッピング ダイアログ ボックスを使用すると、さまざまなカテゴリのコマンドにアクセラレータ キーを選択して割り当てることができます。 さらに、選択したアクセラレータ キーとその説明をクリップボードにコピーできます。

CMFCKeyMapDialog::FormatItem

キー マッピングを記述する文字列を構築するためにフレームワークによって呼び出されます。 既定では、文字列にはコマンド名、使用されるショートカット キー、およびショートカット キーの説明が含まれます。

virtual CString FormatItem(int nItem) const;

パラメーター

nItem
[in]キー マッピングの内部リスト内の項目の 0 から始まるインデックス。

戻り値

書式設定された項目テキストを含む CString オブジェクト。

解説

CMFCKeyMapDialog::GetCommandKeys

文字列値を取得します。 文字列には、指定したコマンドに関連付けられているショートカット キーの一覧が含まれています。

virtual CString GetCommandKeys(UINT uiCmdID) const;

パラメーター

uiCmdID
[in]コマンド ID。

戻り値

指定したコマンドに(';')関連付けられているショートカット キーのセミコロン区切りの一覧。

解説

CMFCKeyMapDialog::OnInsertItem

キーボード マッピング コントロールをサポートする内部リスト コントロールに新しい項目が挿入される前に、フレームワークによって呼び出されます。

virtual void OnInsertItem(
    CMFCToolBarButton* pButton,
    int nItem);

パラメーター

pButton
[in]キーボード キーの組み合わせをコマンド名と説明にマップするために使用されるツール バー ボタンへのポインター。 キー マップ項目は、内部リスト コントロールに格納されます。

nItem
[in]内部リスト コントロールに新しいキー マップ項目を挿入する場所を指定する 0 から始まるインデックス。

解説

CMFCKeyMapDialog::OnPrintHeader

キーボード マップのヘッダーを新しいページに出力するためにフレームワークによって呼び出されます。

virtual int OnPrintHeader(
    CDC& dc,
    int nPage,
    int cx) const;

パラメーター

dc
[in]プリンターのデバイス コンテキスト。

nPage
[in]印刷するページ番号。

cx
[in]ヘッダーの水平方向のオフセット (ピクセル単位)。

戻り値

成功した場合は、印刷されたテキストの高さ。 詳細については、「 CDC::D rawText の戻り値」セクションを参照してください。

解説

フレームワークでは、このメソッドを使用してキーボード マップを印刷します。 既定では、このメソッドはページ番号、アプリケーション名、およびダイアログ ボックスのタイトルを出力します。

CMFCKeyMapDialog::OnPrintItem

キーボード マッピング項目を出力するためにフレームワークによって呼び出されます。

virtual int OnPrintItem(
    CDC& dc,
    int nItem,
    int y,
    int cx,
    BOOL bCalcHeight) const;

パラメーター

dc
[in]プリンターのデバイス コンテキスト。

nItem
[in]印刷する項目の 0 から始まるインデックス。

y
[in]ページの上部と項目の位置の間の垂直方向のオフセット。

cx
[in]ページの左側と項目の位置の間の水平方向のオフセット。

bCalcHeight
[in]印刷項目に最適な高さを計算する場合は TRUE。既定のスペースに収まるように印刷項目を切り捨てる場合は FALSE。

戻り値

印刷されたアイテムの高さ。

解説

フレームワークは、このメソッドを呼び出して、キー マップ ダイアログ ボックス項目を出力します。 既定では、このメソッドは項目のコマンド名、ショートカット キー、およびコマンドの説明を出力します。

CMFCKeyMapDialog::OnSetColumns

キーボード マッピング コントロールをサポートする内部リスト コントロール内の列のキャプションを設定するためにフレームワークによって呼び出されます。

virtual void OnSetColumns();

解説

既定では、このメソッドは 3 つのリソースから列のキャプションを取得します。 コマンド列のキャプションはIDS_AFXBARRES_COMMANDから、キー列のキャプションはIDS_AFXBARRES_KEYSから、説明列のキャプションはIDS_AFXBARRES_DESCRIPTIONから取得されます。

CMFCKeyMapDialog::P rintKeyMap

ユーザーが Print ボタンをクリックしたときにフレームワークによって呼び出されます。

virtual void PrintKeyMap();

解説

PrintKeyMap メソッドは、キー マップを出力します。 新しい印刷ジョブを開始し、すべてのキー マッピングが印刷されるまで、 CMFCKeyMapDialog::OnPrintHeader および CMFCKeyMapDialog::OnPrintItem メソッドを繰り返し呼び出します。

CMFCKeyMapDialog::SetColumnsWidth

キーボード マッピング コントロールをサポートする内部リスト コントロールの列の幅を設定するためにフレームワークによって呼び出されます。

virtual void SetColumnsWidth();

解説

このメソッドは、内部リスト コントロールの列を既定の幅に設定します。 まず、ショートカット キー列の幅が計算されます。 その後、残りの幅の 3 分の 1 がコマンド列に割り当てられ、残りの 3 分の 2 が説明列に割り当てられます。

関連項目

階層図
クラス
CKeyboardManager クラス