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 | ユーザーが [印刷] ボタンをクリック すると、フレームワークによって呼び出 されます。 |
CMFCKeyMapDialog::SetColumnsWidth | キーボード マッピング コントロールをサポートする内部リスト コントロールの列の幅を設定するためにフレームワークによって呼び出されます。 |
解説
このクラスを CMFCKeyMapDialog
使用して、サイズ変更可能なキーボード マッピング ダイアログ ボックスを実装します。 このダイアログ ボックスでは、リスト ビュー コントロールを使用して、キーボード ショートカットとそれに関連するコマンドを表示します。
アプリケーションでクラスをCMFCKeyMapDialog
使用するには、コンストラクターへのパラメーターとして、メイン フレーム ウィンドウへのポインターをCMFCKeyMapDialog
渡します。 次に、メソッドを DoModal
呼び出してモーダル ダイアログ ボックスを開始します。
継承階層
必要条件
ヘッダー: afxkeymapdialog.h
CMFCKeyMapDialog::CMFCKeyMapDialog
CMFCKeyMapDialog
オブジェクトを構築します。
CMFCKeyMapDialog(
CFrameWnd* pWndParentFrame,
BOOL bEnablePrint=FALSE);
パラメーター
pWndParentFrame
[in]オブジェクトの親ウィンドウ CMFCKeyMapDialog
へのポインター。
bEnablePrint
[in]アクセラレータ キーの一覧を印刷できる場合は TRUE。それ以外の場合は FAL Standard Edition。 既定値は FAL Standard Edition です。
解説
例
次の例では、クラスのオブジェクトを構築する方法を CMFCKeyMapDialog
示します。 この例は、Visual Studio デモ サンプルの一部です。
// 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。FAL Standard Edition既定のスペースに収まるように印刷項目を切り捨てます。
戻り値
印刷されたアイテムの高さ。
解説
フレームワークは、このメソッドを呼び出して、キー マップ ダイアログ ボックス項目を出力します。 既定では、このメソッドは項目のコマンド名、ショートカット キー、およびコマンドの説明を出力します。
CMFCKeyMapDialog::OnSetColumns
キーボード マッピング コントロールをサポートする内部リスト コントロール内の列のキャプションを設定するために、フレームワークによって呼び出されます。
virtual void OnSetColumns();
解説
既定では、このメソッドは 3 つのリソースから列のキャプションを取得します。 コマンド列キャプションはIDS_AFXBARRES_COMMANDから、キー列キャプションはIDS_AFXBARRES_KEYSから、説明列キャプションはIDS_AFXBARRES_DESCRIPTIONから取得されます。
CMFCKeyMapDialog::P rintKeyMap
ユーザーが [印刷] ボタンをクリック すると、フレームワークによって呼び出 されます。
virtual void PrintKeyMap();
解説
このメソッドは PrintKeyMap
、キー マップを出力します。 新しい印刷ジョブを開始し、すべてのキー マッピングが印刷されるまで CMFCKeyMapDialog::OnPrintHeader メソッドと CMFCKeyMapDialog::OnPrintItem メソッドを繰り返し呼び出します。
CMFCKeyMapDialog::SetColumnsWidth
キーボード マッピング コントロールをサポートする内部リスト コントロールの列の幅を設定するためにフレームワークによって呼び出されます。
virtual void SetColumnsWidth();
解説
このメソッドは、内部リスト コントロールの列を既定の幅に設定します。 まず、ショートカット キー列の幅が計算されます。 その後、再メイン幅の 3 分の 1 がコマンド列に割り当てられメイン 3 分の 2 が説明列に割り当てられます。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示