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
方法启动一个模式对话框。
继承层次结构
要求
标头: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::OnPrintHeader 和 CMFCKeyMapDialog::OnPrintItem 方法,直到打印所有键映射。
CMFCKeyMapDialog::SetColumnsWidth
由框架调用,为支持键盘映射控件的内部列表控件中的列设置宽度。
virtual void SetColumnsWidth();
注解
此方法将内部列表控件的列设置为默认宽度。 首先,计算快捷键列的宽度。 然后将剩余宽度的三分之一分配给命令列,其余三分之二分配给描说明。