分享方式:


快速鍵編輯器 (C++)

快速鍵對應表是一種 C++ Windows 資源,其中包含快速鍵清單 (也稱為快捷鍵) 和與其相關聯的命令識別項。 程式可有多個快速鍵對應表。

一般而言,快速鍵是用作程式命令的鍵盤快速鍵,功能表或工具列也使用這些命令。 不過,您可以使用快速鍵對應表定義和使用者介面物件沒有關聯性的命令鍵組合。

提示

使用快速鍵編輯器時,按一下滑鼠右鍵可顯示常用命令的快顯功能表。 可用的命令取決於指標所指項目。

您可以使用 類別檢視 連結快速鍵命令和程式碼。 如需預先定義的快速鍵清單,請參閱快速鍵

注意

Windows 不允許建立空的快速鍵對應表。 如果建立了沒有任何項目的快速鍵對應表,當您儲存資料表時它會自動刪除。

快速鍵屬性

您可以隨時在屬性視窗中設定快速鍵屬性。 您也可以使用快速鍵編輯器來修改快速鍵對應表中的快速鍵屬性。 使用 [屬性] 視窗或快速鍵編輯器所做的變更會有相同的結果,編輯會立即反映在快速鍵對應表中。

識別碼 (ID) 屬性會參考程式碼中的每個快速鍵對應表項目。 此項目是當使用者按下快速鍵或按鍵組合時,程式收到的命令值。 若要讓快速鍵與功能表項目相同,請設定相同的識別碼,只要快速鍵對應表的識別碼與功能表資源的識別碼相同即可。

每個快速鍵識別碼都有三個屬性:修飾元 (Modifier)按鍵 (Key)類型 (Type)

修飾元屬性可設定快速鍵的控制鍵組合。

注意

在 [屬性] 視窗中,修飾元屬性會顯示為三個不同的布林值屬性,且三個屬性都可以獨立控制:AltCtrlShift 鍵。

以下是快速鍵對應表中修飾元屬性的合法輸入:

描述
None 使用者只按下按鍵值。

此值最適合與 ASCII/ANSI 值 001 到 026 搭配使用,其會解譯為 ^A 到 ^Z (Ctrl+ACtrl+Z)。
Alt 鍵 使用者必須在按下按鍵值之前按 Alt
Ctrl 使用者必須在按下按鍵值之前按 Ctrl,不適用於 ASCII 類型。
Shift 鍵 使用者必須在按下按鍵值之前按 Shift
Ctrl+Alt 使用者必須在按下按鍵值之前按 CtrlAlt,不適用於 ASCII 類型。
Ctrl+Shift 使用者必須在按下按鍵值之前按 CtrlShift,不適用於 ASCII 類型。
Alt+Shift 使用者必須在按下按鍵值之前按 AltShift,不適用於 ASCII 類型。
Ctrl+Alt+Shift 使用者必須在按下按鍵值之前按 CtrlAltShift,不適用於 ASCII 類型。

按鍵屬性可設定用來做為快速鍵的實際按鍵。

以下是快速鍵對應表中按鍵屬性的合法輸入:

Description
介於 0 到 255 之間的整數,格式為十進位格式。 該值會判斷值是否被視為 ASCII 或 ANSI,如下所示:

- 單一位數的數字一律會解譯為對應的按鍵,而不是 ASCII 或 ANSI 值。
- 當 1 到 26 的值前面加上零時,則會解譯為 ^A 到 ^Z,代表按住 Ctrl 鍵時,所按字母表中字母的 ASCII 值。
- 27-32 的值一律會解譯為 027 到 032 的三位數十進位值。
- 從 033 到 255 的值,無論前面是否為 0,都解譯為 ANSI 值。
單一鍵盤字元。 大寫 A - Z 或數字 0 - 9 可以是 ASCII 或虛擬按鍵值。 任何其他字元都只是 ASCII。
範圍 A - Z 的單一鍵盤字元 (僅限大寫),前面會加上插入號 (^),例如 ^C。 此選項會在按住 Ctrl 鍵再按下按鍵時,輸入按鍵的 ASCII 值。
任何有效的虛擬按鍵識別碼。 快速鍵對應表中的下拉式按鍵方塊包含標準虛擬按鍵識別碼的清單。

注意

輸入 ASCII 值時,修飾元屬性選項會受到限制。 唯一可用的控制鍵是 Alt 鍵。

提示

定義快速鍵的捷徑是在快速鍵對應表中的一個項目或多個項目上按滑鼠右鍵,然後選擇 [下一個輸入的按鍵],然後按鍵盤上的任何按鍵或按鍵組合。

此 [下一個輸入的按鍵] 命令也可從 [編輯] 功能表中取得。

類型屬性會判斷與快速鍵識別碼相關聯的快捷鍵組合是否解譯為 ASCII/ANSI 按鍵值或虛擬按鍵 (VIRTKEY) 組合。

  • 如果類型屬性是 ASCII,則修飾元屬性可能只有 NoneAlt,或是其可以具有使用 Ctrl 鍵的快速鍵,如同在按鍵前面加上 ^ 來加以指定。

  • 如果類型屬性是 VIRTKEY,則修飾元按鍵值的任何組合都是有效的。

注意

如果您想要在快速鍵對應表中輸入值,並將值視為 ASCII/ANSI,請選取對應表中項目的類型,然後從下拉式清單中選取 ASCII。 不過,如果您使用 [編輯] 功能表中的 [下一個輸入的按鍵] 命令來指定按鍵,您必須先將類型屬性從 VIRTKEY 變更為 ASCII,然後輸入按鍵代碼。

快速鍵對應表

在 C++ 專案中,您可以使用快速鍵編輯器中的就地編輯,直接編輯快速鍵對應表。

下列程序是使用標準屬性頁,不過,就地編輯和屬性頁方法的結果都相同。 使用屬性頁或使用就地編輯所做的變更,都會立即反映在快速鍵對應表中。

在快速鍵對應表中編輯

  1. 資源檢視中按兩下快速鍵對應表的圖示,加以開啟。

  2. 在對應表中選取一個項目,然後加以選取即可啟動就地編輯。

  3. 從下拉式方塊中選取,或就地輸入來進行變更:

    • 針對識別碼,從清單中選取或輸入以編輯。

    • 針對修飾元,從清單中選取。

    • 針對按鍵,從清單中選取或輸入以編輯。

    • 針對類型,從清單中選取 ASCIIVIRTKEY

在開啟的快速鍵對應表中尋找項目

  1. 資源檢視中按兩下快速鍵對應表的圖示,加以開啟。

  2. 選取欄位標題,依字母順序排序欄位的內容。 例如,選取識別碼,依字母順序顯示快速鍵對應表中的所有識別碼。

    然後就可以掃描清單並找到項目。

在快速鍵對應表中加入項目

  1. 資源檢視中按兩下快速鍵對應表的圖示,加以開啟。

  2. 在快速鍵對應表內按一下滑鼠右鍵,然後選擇 [新增快速鍵],或在對應表底部選取空白資料列項目。

  3. 從下拉式清單的 [識別碼] 方塊中選取識別碼,或在 [識別碼] 方塊中輸入新識別碼

  4. 輸入您想要作為快速鍵使用的按鍵,或按一下滑鼠右鍵並選擇 [下一個輸入的按鍵] 來設定按鍵組合,或移至功能表的 [編輯]>[下一個輸入的按鍵]

  5. 視需要變更修飾元類型,然後按 Enter 鍵。

注意

確定定義的所有快速鍵都是唯一的。 您可以有數個按鍵組合,指派給相同的 ID 而不會有不良影響,例如,CTRL+PF8 可以同時指派給 ID_PRINT。 不過,將一個按鍵組合指派給多個識別碼將無法運作,例如,將 Ctrl+Z 指派給 ID_SPELL_CHECK 和 ID_THESAURUS。

刪除快速鍵對應表中的項目

  1. 資源檢視中按兩下快速鍵對應表的圖示,加以開啟。

  2. 選取您要刪除的項目,或在選取時按住 CtrlShift 鍵來選擇多個項目。

  3. 按一下滑鼠右鍵並選擇 [刪除],或移至功能表的 [編輯]>[刪除]

提示

您也可以按下刪除 (Delete) 鍵來刪除。

將快速鍵對應表項目移動或複製到另一個資源指令碼檔案

  1. 在兩個資源指令檔中開啟快速鍵對應表,然後選取您要移動的項目。

  2. 從 [編輯] 功能表選擇 [複製] 或 [剪下]

  3. 選取目標資源指令檔中的項目,然後從 [編輯] 功能表中選擇 [貼上]

注意

您也可以使用快速鍵進行複製及貼上。

變更多個快速鍵的屬性

  1. 資源檢視中按兩下快速鍵對應表的圖示,加以開啟。

  2. 在選取每個快速鍵時按住 Ctrl 鍵,以選取您想要變更的快速鍵。

  3. 移至屬性視窗,然後輸入您想要所有所選快速鍵共用的值。

注意

每個修飾元值都會在 [屬性] 視窗中顯示為布林值屬性。 如果您在 [屬性] 視窗中變更修飾元值,快速鍵對應表會將新修飾元視為先前任何修飾元的增加項目。 因此,如果您會設定任何修飾元值,則必須設定所有修飾元,以確保每個快速鍵都會共用相同的修飾元設定。

需求

Win32

另請參閱

資源編輯器
快速鍵