CMFCKeyMapDialog 类

CMFCKeyMapDialog 类支持用于将命令映射到键盘上的键的控件。

语法

class CMFCKeyMapDialog : public CDialogEx

成员

公共构造函数

名称 描述
CMFCKeyMapDialog::CMFCKeyMapDialog 构造 CMFCKeyMapDialog 对象。

公共方法

名称 描述
CMFCKeyMapDialog::DoModal 显示键盘映射对话框。

受保护方法

名称 描述
CMFCKeyMapDialog::FormatItem 由框架调用,以生成描述键映射的字符串。 默认情况下,字符串包含命令名称、使用的快捷键和快捷键说明。
CMFCKeyMapDialog::GetCommandKeys 检索包含与指定命令关联的快捷键列表的字符串。
CMFCKeyMapDialog::OnInsertItem 在将新项插入支持键盘映射控件的内部列表控件之前由框架调用。
CMFCKeyMapDialog::OnPrintHeader 由框架调用,以在新页面上打印键盘映射的标题。
CMFCKeyMapDialog::OnPrintItem 由框架调用,以打印键盘映射项。
CMFCKeyMapDialog::OnSetColumns 由框架调用,为支持键盘映射控件的内部列表控件中的列设置标题。
CMFCKeyMapDialog::PrintKeyMap 当用户单击“打印”按钮时由框架调用
CMFCKeyMapDialog::SetColumnsWidth 由框架调用,为支持键盘映射控件的内部列表控件中的列设置宽度。

备注

使用 CMFCKeyMapDialog 类实现可调整大小的键盘映射对话框。 该对话框使用列表视图控件来显示键盘快捷键及其相关命令。

若要在应用程序中使用 CMFCKeyMapDialog 类,请将指向主框架窗口的指针作为参数传递给 CMFCKeyMapDialog 构造函数。 然后调用 DoModal 方法启动一个模式对话框。

继承层次结构

CObject

CCmdTarget

CWnd

CDialog

CDialogEx

CMFCKeyMapDialog

要求

标头:afxkeymapdialog.h

CMFCKeyMapDialog::CMFCKeyMapDialog

构造 CMFCKeyMapDialog 对象。

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

参数

pWndParentFrame
[in] 指向 CMFCKeyMapDialog 对象的父窗口的指针。

bEnablePrint
[in] 如果可以打印快捷键列表,则为 TRUE;否则为 FALSE。 默认值为 FALSE。

注解

示例

以下示例演示如何构造 CMFCKeyMapDialog 类的对象。 此示例是 Visual Studio 演示示例的一部分。

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

CMFCKeyMapDialog::DoModal

显示键盘映射对话框。

virtual INT_PTR DoModal();

返回值

传递给 CDialog::EndDialog 方法的带符号整数,例如 IDOK 或 IDCANCEL。 该方法依次关闭对话框。 有关详细信息,请参阅 CDialog::DoModal

注解

键盘映射对话框可用于选择快捷键并将其分配给各种命令类别。 此外,可以将选定的快捷键及其说明复制到剪贴板。

CMFCKeyMapDialog::FormatItem

由框架调用,以生成描述键映射的字符串。 默认情况下,字符串包含命令名称、使用的快捷键和快捷键说明。

virtual CString FormatItem(int nItem) const;

参数

nItem
[in] 键映射内部列表中项的从零开始的索引。

返回值

包含格式化项文本的 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] 一个从零开始的索引,指定在内部列表控件中插入新键映射项的位置。

备注

CMFCKeyMapDialog::OnPrintHeader

由框架调用,以在新页面上打印键盘映射的标题。

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

参数

dc
[in] 打印机的设备上下文。

nPage
[in] 要打印的页码。

cx
[in] 标题的水平偏移量(以像素为单位)。

返回值

如果成功,则打印文本的高度。 有关详细信息,请参阅 CDC::DrawText 的“返回值”部分。

备注

该框架使用此方法打印键盘映射。 默认情况下,此方法打印页码、应用程序名称和对话框标题。

CMFCKeyMapDialog::OnPrintItem

由框架调用,以打印键盘映射项。

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

参数

dc
[in] 打印机的设备上下文。

nItem
[in] 要打印的项的从零开始的索引。

y
[in] 页面顶部和项位置之间的垂直偏移量。

cx
[in] 页面左侧与项位置之间的水平偏移量。

bCalcHeight
[in] TRUE 表示计算打印项的最佳高度;FALSE 表示截断打印项,使其适合默认空间。

返回值

打印项的高度。

备注

框架调用此方法来打印键映射对话框项。 默认情况下,此方法会打印项的命令名称、快捷键和命令说明。

CMFCKeyMapDialog::OnSetColumns

由框架调用,为支持键盘映射控件的内部列表控件中的列设置标题。

virtual void OnSetColumns();

备注

默认情况下,此方法从三个资源中获取列的标题。 命令列标题来自 IDS_AFXBARRES_COMMAND,键列标题来自 IDS_AFXBARRES_KEYS,说明列标题来自 IDS_AFXBARRES_DESCRIPTION。

CMFCKeyMapDialog::PrintKeyMap

当用户单击“打印”按钮时由框架调用

virtual void PrintKeyMap();

备注

PrintKeyMap 方法打印键映射。 它启动一个新的打印作业,然后重复调用 CMFCKeyMapDialog::OnPrintHeaderCMFCKeyMapDialog::OnPrintItem 方法,直到打印所有键映射。

CMFCKeyMapDialog::SetColumnsWidth

由框架调用,为支持键盘映射控件的内部列表控件中的列设置宽度。

virtual void SetColumnsWidth();

注解

此方法将内部列表控件的列设置为默认宽度。 首先,计算快捷键列的宽度。 然后将剩余宽度的三分之一分配给命令列,其余三分之二分配给描说明。

另请参阅

层次结构图

CKeyboardManager 类