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;否則為 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::OnPrintHeader 和 CMFCKeyMapDialog::OnPrintItem 方法,直到列印所有索引鍵對應為止。
CMFCKeyMapDialog::SetColumnsWidth
由架構呼叫,以設定支援鍵盤對應控件的內部清單控件中的數據行寬度。
virtual void SetColumnsWidth();
備註
這個方法會將內部清單控件的數據行設定為預設寬度。 首先,會計算快速鍵數據行的寬度。 其餘寬度的三分之一會配置給命令數據行,其餘三分之二則配置給描述數據行。