分享方式:


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 方法來啟動強制響應對話方塊。

繼承階層架構

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::D oModal

顯示鍵盤對應對話框。

virtual INT_PTR DoModal();

傳回值

傳遞至 CDialog::EndDialog 方法的帶正負號整數,例如 IDOK 或 IDCANCEL。 方法接著會關閉對話框。 如需詳細資訊,請參閱 CDialog::D oModal

備註

鍵盤對應對話框可讓您選取快速鍵,並將快捷鍵指派給各種命令類別。 此外,您可以將選取的快速鍵及其描述複製到剪貼簿。

CMFCKeyMapDialog::FormatItem

由架構呼叫,以建置描述索引鍵對應的字串。 根據預設,字串包含命令名稱、使用的快速鍵,以及快捷鍵描述。

virtual CString FormatItem(int nItem) const;

參數

nItem
[in]索引鍵對應內部清單中的專案以零起始的索引。

傳回值

CString物件,包含格式化的項目文字。

備註

CMFCKeyMapDialog::GetCommandKeys

擷取字串值。 字串包含與指定命令相關聯的快速鍵清單。

virtual CString GetCommandKeys(UINT uiCmdID) const;

參數

uiCmdID
[in]命令標識碼。

傳回值

與指定命令相關聯的快捷鍵分號分隔(';')清單。

備註

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::D rawText傳回值一節。

備註

架構會使用這個方法來列印鍵盤對應。 根據預設,此方法會列印頁碼、應用程式名稱和對話框標題。

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::P rintKeyMap

當使用者按兩下 [列印 ] 按鈕時,由架構呼叫。

virtual void PrintKeyMap();

備註

方法 PrintKeyMap 會列印索引鍵對應。 它會起始新的列印作業,然後重複呼叫 CMFCKeyMapDialog::OnPrintHeaderCMFCKeyMapDialog::OnPrintItem 方法,直到列印所有索引鍵對應為止。

CMFCKeyMapDialog::SetColumnsWidth

由架構呼叫,以設定支援鍵盤對應控件的內部清單控件中的數據行寬度。

virtual void SetColumnsWidth();

備註

這個方法會將內部清單控件的數據行設定為預設寬度。 首先,會計算快速鍵數據行的寬度。 其餘寬度的三分之一會配置給命令數據行,其餘三分之二則配置給描述數據行。

另請參閱

階層架構圖表
類別
CKeyboardManager 類別