다음을 통해 공유


액셀러레이터 키 편집기(C++)

액셀러레이터 키 테이블은 액셀러레이터 키(바로 가기 키) 목록 및 해당 키와 연결된 명령 식별자가 포함되어 있는 C++ Windows 리소스입니다. 프로그램에는 액셀러레이터 키 테이블이 두 개 이상 있을 수 있습니다.

일반적으로 액셀러레이터 키는 메뉴 또는 도구 모음에서도 사용할 수 있는 프로그램 명령에 대한 바로 가기 키로 사용됩니다. 그러나 연결된 사용자 인터페이스 개체가 없는 명령에 대한 키 조합을 정의하는 데 액셀러레이터 키 테이블을 사용할 수 있습니다.

액셀러레이터 키 편집기를 사용하는 동안 마우스 오른쪽 단추를 클릭하여 자주 사용하는 명령의 바로 가기 메뉴를 표시합니다. 사용할 수 있는 명령은 포인터가 가리키는 내용에 따라 달라집니다.

클래스 뷰 를 사용하여 액셀러레이터 키 명령을 코드에 연결할 수 있습니다. 미리 정의된 액셀러레이터 키 목록은 액셀러레이터 키를 참조하세요.

참고 항목

Windows에서는 빈 액셀러레이터 키 테이블을 만들 수 없습니다. 항목이 없는 액셀러레이터 키 테이블을 만들 경우 해당 테이블을 저장할 때 테이블이 자동으로 삭제됩니다.

액셀러레이터 키 속성

속성 창에서 언제든지 액셀러레이터 키 속성을 설정할 수 있습니다. 또한 액셀러레이터 키 편집기를 사용하여 액셀러레이터 키 테이블에서 액셀러레이터 키 속성을 수정할 수 있습니다. 속성 창 또는 액셀러레이터 키 편집기를 사용하여 변경한 내용은 결과가 동일합니다. 편집 내용은 액셀러레이터 키 테이블에 바로 반영됩니다.

ID 속성은 프로그램 코드에서 각 액셀러레이터 키 테이블 항목을 참조합니다. 이 항목은 사용자가 액셀러레이터 키 또는 키 조합을 누를 때 프로그램이 받는 명령 값입니다. 액셀러레이터 키를 메뉴 항목과 동일하게 만들려면 액셀러레이터 키 테이블의 ID가 메뉴 리소스에 대한 ID와 동일하기만 하면 ID를 동일하게 만듭니다.

각 액셀러레이터 키 ID에는 한정자, 형식의 세 가지 속성이 있습니다.

한정자 속성은 액셀러레이터 키에 대해 컨트롤 키 조합을 설정합니다.

참고 항목

속성 창에서 한정자 속성은 세 가지 별도의 부울 속성으로 나타나며, Alt, CtrlShift를 모두 독립적으로 제어할 수 있습니다.

다음은 액셀러레이터 키 테이블의 한정자 속성에 대해 규정된 항목입니다.

설명
없음 사용자는 값만 누릅니다.

이 값은 001부터 026까지의 ASCII/ANSI 값과 함께 사용할 때 가장 효과적입니다. 이 값은 ^A~^Z(Ctrl+A ~ Ctrl+Z)로 해석됩니다.
Alt 사용자는 Alt 키를 누른 후 값을 눌러야 합니다.
Ctrl 사용자는 Ctrl 키를 누른 후 값을 눌러야 하며, 이러한 방식은 ASCII 형식에서는 유효하지 않습니다.
Shift 사용자는 Shift 키를 누른 후 값을 눌러야 합니다.
Ctrl+Alt 사용자는 Ctrl 키와 Alt 키를 누른 후 값을 눌러야 하며, 이러한 방식은 ASCII 형식에서는 유효하지 않습니다.
Ctrl+Shift 사용자는 Ctrl 키와 Shift 키를 누른 후 값을 눌러야 하며, 이러한 방식은 ASCII 형식에서는 유효하지 않습니다.
Alt+Shift 사용자는 Alt 키와 Shift 키를 누른 후 값을 눌러야 하며, 이러한 방식은 ASCII 형식에서는 유효하지 않습니다.
Ctrl+Alt+Shift 사용자는 Ctrl, AltShift 키를 누른 후 값을 눌러야 하며, 이러한 방식은 ASCII 형식에서는 유효하지 않습니다.

속성은 실제 키를 액셀러레이터 키로 사용하도록 설정합니다.

다음은 액셀러레이터 키 테이블의 속성에 대해 규정된 항목입니다.

설명
0~255 사이의 10진수 형식 정수여야 합니다. 이 값은 다음과 같이 값이 ASCII 또는 ANSI로 처리되는지를 결정합니다.

- 한 자리 숫자는 항상 ASCII 또는 ANSI 값이 아닌 해당 키로 해석됩니다.
- 1~26의 값은 0이 앞에 올 경우 ^A~^Z로 해석됩니다. 이 값은 Ctrl 키를 누른 상태에서 알파벳 문자를 누를 때 해당 문자의 ASCII 값을 나타냅니다.
- 27~32의 값은 항상 027~032의 3자리 10진수 값으로 해석됩니다.
- 0의 앞에 오는지 여부에 관계없이 033~255의 값은 ANSI 값으로 해석됩니다.
단일 키보드 문자입니다. 대문자 A ~ Z 또는 숫자 0 ~ 9는 ASCII 또는 가상 키 값일 수 있습니다. 다른 문자는 ASCII에만 해당합니다.
범위 A ~ Z(대문자만 해당)의 단일 키보드 문자 앞에는 캐럿(^)이 옵니다(예: ^C). 이 옵션은 Ctrl 키를 누른 상태에서 누른 키의 ASCII 값을 입력합니다.
유효한 가상 키 식별자입니다. 액셀러레이터 키 테이블의 드롭다운 상자에는 표준 가상 키 식별자 목록이 포함되어 있습니다.

참고 항목

ASCII 값을 입력할 때 한정자 속성 옵션이 제한됩니다. 사용할 수 있는 유일한 제어 키는 Alt 키입니다.

액셀러레이터 키를 정의하는 바로 가기는 액셀러레이터 키 테이블에서 하나의 항목 또는 여러 항목을 마우스 오른쪽 단추로 클릭한 후 다음 입력된 키를 선택하고 키보드에서 키 또는 키 조합을 누르는 것입니다.

다음 입력된 키 명령은 편집 메뉴에서도 사용할 수 있습니다.

형식 속성은 액셀러레이터 키 ID와 연결된 바로 가기 키 조합이 ASCII/ANSI 키 값으로 해석되는지 또는 VIRTKEY(가상 키) 조합으로 해석되는지를 결정합니다.

  • 형식 속성이 ASCII인 경우 한정자 속성은 None 또는 Alt일 수만 있습니다. 또는 키 앞에 ^을 입력하여 Ctrl 키를 사용하는 액셀러레이터 키가 있을 수 있습니다.

  • 형식 속성이 VIRTKEY인 경우 한정자 값의 조합이 유효합니다.

참고 항목

액셀러레이터 키 테이블에 값을 입력하고 값을 ASCII/ANSI로 처리하려면 테이블의 항목에 대한 형식을 선택하고 드롭다운 목록에서 ASCII를 선택합니다. 그러나 편집 메뉴에서 다음 입력한 키 명령을 사용하여 를 지정하는 경우 코드를 입력하기 전에 형식 속성을 VIRTKEY에서 ASCII로 변경해야 합니다.

액셀러레이터 테이블

C++ 프로젝트에서는 액셀러레이터 키 편집기에서 바로 편집하여 액셀러레이터 키 테이블을 직접 편집할 수 있습니다.

아래 절차는 표준 속성 페이지의 사용 방식을 참조합니다. 그러나 바로 편집과 속성 페이지 방법도 동일한 결과를 가져옵니다. 속성 페이지를 사용하거나 바로 편집을 사용하여 변경한 내용은 액셀러레이터 키 테이블에 즉시 반영됩니다.

액셀러레이터 키 테이블에서 편집하려면

  1. 리소스 뷰에서 해당 아이콘을 두 번 클릭하여 액셀러레이터 키 테이블을 엽니다.

  2. 테이블에서 항목을 선택하고 선택하여 바로 편집을 활성화합니다.

  3. 드롭다운 콤보 상자에서 선택하거나 현재 위치에서 입력하여 변경합니다.

    • ID의 경우 목록에서 선택하거나 입력하여 편집합니다.

    • 한정자의 경우 목록에서 선택합니다.

    • 의 경우 목록에서 선택하거나 입력하여 편집합니다.

    • 형식의 경우 목록에서 ASCII 또는 VIRTKEY를 선택합니다.

열린 액셀러레이터 키 테이블에서 항목을 찾으려면

  1. 리소스 뷰에서 해당 아이콘을 두 번 클릭하여 액셀러레이터 키 테이블을 엽니다.

  2. 열 머리글을 선택하여 열 내용을 사전순으로 정렬합니다. 예를 들어 ID를 선택하여 액셀러레이터 키 테이블의 모든 ID를 사전순으로 표시합니다.

    그런 다음 목록을 검색하고 항목을 찾을 수 있습니다.

액셀러레이터 키 테이블에 항목을 추가하려면

  1. 리소스 뷰에서 해당 아이콘을 두 번 클릭하여 액셀러레이터 키 테이블을 엽니다.

  2. 액셀러레이터 키 테이블 안을 마우스 오른쪽 단추로 클릭하고 새 액셀러레이터 키를 선택하거나 테이블 아래쪽에서 비어 있는 행 항목을 선택합니다.

  3. ID 상자의 드롭다운 목록에서 ID를 선택하거나 ID 상자에 새 ID를 입력합니다.

  4. 액셀러레이터 키로 사용할 를 입력하거나 마우스 오른쪽 단추를 클릭하고 다음 입력한 키를 선택하여 키 조합을 설정하거나 편집>다음 입력한 키 메뉴로 이동합니다.

  5. 필요한 경우 한정자형식을 변경하고 Enter 키를 누릅니다.

참고 항목

정의한 모든 액셀러레이터 키가 고유한지 확인합니다. 여러 키 조합을 동일한 ID에 할당할 수도 있으며 별 문제는 없습니다. 예를 들어 Ctrl+PF8 키를 둘 다 ID_PRINT에 할당할 수 있습니다. 그러나 예를 들어 ID_SPELL_CHECK와 ID_THESAURUS 둘 다에 할당된 Ctrl+Z의 경우처럼 키 조합이 둘 이상의 ID에 할당되면 제대로 작동하지 않습니다.

액셀러레이터 키 테이블에서 항목을 삭제하려면

  1. 리소스 뷰에서 해당 아이콘을 두 번 클릭하여 액셀러레이터 키 테이블을 엽니다.

  2. 삭제할 항목을 선택하거나 Ctrl 또는 Shift 키를 누른 채 여러 항목을 선택합니다.

  3. 마우스 오른쪽 단추를 클릭하고 삭제를 선택하거나 편집>삭제 메뉴로 이동합니다.

Delete 키를 눌러 삭제할 수도 있습니다.

액셀러레이터 키 테이블 항목을 다른 리소스 스크립트 파일로 이동/복사

  1. 두 리소스 스크립트 파일 모두에서 액셀러레이터 키 테이블을 열고 이동하려는 항목을 선택합니다.

  2. 편집 메뉴에서 복사 또는 잘라내기를 선택합니다.

  3. 대상 리소스 스크립트 파일에서 항목을 선택하고 편집 메뉴에서 붙여넣기를 선택합니다.

참고 항목

복사 및 붙여넣기의 바로 가기 키를 사용할 수도 있습니다.

여러 액셀러레이터 키 속성을 변경하려면

  1. 리소스 뷰에서 해당 아이콘을 두 번 클릭하여 액셀러레이터 키 테이블을 엽니다.

  2. Ctrl 키를 누른 채 각 키를 선택하여 변경하려는 액셀러레이터 키를 선택합니다.

  3. 속성 창으로 이동하고 선택한 모든 액셀러레이터 키에서 공유할 값을 입력합니다.

참고 항목

각 한정자 값은 속성 창에 부울 속성으로 나타납니다. 속성 창에서 한정자 값을 변경하는 경우 액셀러레이터 키 테이블은 새 한정자를 이전에 있던 모든 한정자에 대한 추가 항목으로 처리합니다. 따라서 한정자 값을 설정하는 경우 모든 액셀러레이터 키가 동일한 한정자 설정을 공유하도록 모든 값을 설정해야 합니다.

요구 사항

Win32

참고 항목

Resource Editors
액셀러레이터 키