다음을 통해 공유


CHotKeyCtrl 클래스

Windows의 공용 바로 가기 컨트롤의 기능을 제공합니다.

구문

class CHotKeyCtrl : public CWnd

멤버

공용 생성자

속성 설명
CHotKeyCtrl::CHotKeyCtrl CHotKeyCtrl 개체를 생성합니다.

공용 메서드

이름 설명
CHotKeyCtrl::Create 핫 키 컨트롤을 만들어 개체에 CHotKeyCtrl 연결합니다.
CHotKeyCtrl::CreateEx 지정된 Windows 확장 스타일을 사용하여 핫 키 컨트롤을 만들고 개체에 CHotKeyCtrl 연결합니다.
CHotKeyCtrl::GetHotKey 핫 키 컨트롤에서 핫 키의 가상 키 코드 및 한정자 플래그를 검색합니다.
CHotKeyCtrl::GetHotKeyName 핫 키에 할당된 키 이름을 로컬 문자 집합에서 검색합니다.
CHotKeyCtrl::GetKeyName 지정된 가상 키 코드에 할당된 키 이름을 로컬 문자 집합에서 검색합니다.
CHotKeyCtrl::SetHotKey 핫 키키 컨트롤의 핫 키 조합을 설정합니다.
CHotKeyCtrl::SetRules 핫 키 컨트롤의 잘못된 조합과 기본 보조 키 조합을 정의합니다.

설명

"핫 키 컨트롤"은 사용자가 핫 키를 만들 수 있는 창입니다. "핫 키"는 사용자가 빠르게 작업을 수행하기 위해 누를 수 있는 키 조합입니다. 예를 들어 사용자는 지정된 창을 활성화하고 Z 순서의 맨 위로 가져오는 핫 키를 만들 수 있습니다. 핫 키 컨트롤은 사용자의 선택 항목을 표시하고 사용자가 유효한 키 조합을 선택하도록 합니다.

이 컨트롤(따라서 CHotKeyCtrl 클래스)은 Windows 95/98 및 Windows NT 버전 3.51 이상에서 실행되는 프로그램에서만 사용할 수 있습니다.

사용자가 키 조합을 선택한 경우 애플리케이션은 컨트롤에서 지정된 키 조합을 검색하고 WM_SETHOTKEY 메시지를 사용하여 시스템에서 핫 키를 설정할 수 있습니다. 이후 사용자가 시스템의 어느 부분에서나 핫 키를 누를 때마다 WM_SETHOTKEY 메시지에 지정된 창에서 SC_HOTKEY 지정하는 WM_SYSCOMMAND 메시지를 받습니다. 이 메시지는 수신하는 창을 활성화합니다. 바로 가기 키는 WM_SETHOTKEY를 호출한 애플리케이션이 종료될 때까지 유효한 상태로 유지됩니다.

이 메커니즘은 WM_HOTKEY 메시지와 Windows RegisterHotKey 및 UnregisterHotKey 함수에 따라 달라지는 핫 키 지원과 다릅니다.

사용 CHotKeyCtrl방법에 대한 자세한 내용은 컨트롤 및 CHotKeyCtrl 사용을 참조하세요.

상속 계층 구조

CObject

CCmdTarget

CWnd

CHotKeyCtrl

요구 사항

헤더: afxcmn.h

CHotKeyCtrl::CHotKeyCtrl

CHotKeyCtrl 개체를 생성합니다.

CHotKeyCtrl();

CHotKeyCtrl::Create

핫 키 컨트롤을 만들어 개체에 CHotKeyCtrl 연결합니다.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

매개 변수

dwStyle
핫 키 컨트롤의 스타일을 지정합니다. 컨트롤 스타일의 조합을 적용합니다. 자세한 내용은 Windows SDK의 공용 컨트롤 스타일을 참조하세요.

rect
핫 키 컨트롤의 크기와 위치를 지정합니다. CRect 개체 또는 RECT 구조체일 수 있습니다.

pParentWnd
핫 키 컨트롤의 부모 창(일반적으로 CDialog)을 지정합니다. NULL이 아니어야 합니다.

nID
핫 키 컨트롤의 ID를 지정합니다.

Return Value

초기화에 성공한 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

두 단계로 개체를 CHotKeyCtrl 생성합니다. 먼저 생성자를 호출한 다음 호출 Create합니다. 그러면 핫 키 컨트롤이 만들어지고 개체에 CHotKeyCtrl 연결됩니다.

컨트롤에 확장 창 스타일을 사용하려면 대신 CreateExCreate를 호출합니다.

CHotKeyCtrl::CreateEx

이 함수를 호출하여 컨트롤(자식 창)을 만들고 개체와 CHotKeyCtrl 연결합니다.

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

매개 변수

dwExStyle
만들 컨트롤의 확장 스타일을 지정합니다. 확장된 Windows 스타일 목록은 Windows SDK의 CreateWindowEx에 대한 dwExStyle 매개 변수를 참조하세요.

dwStyle
핫 키 컨트롤의 스타일을 지정합니다. 컨트롤 스타일의 조합을 적용합니다. 자세한 내용은 Windows SDK의 공용 컨트롤 스타일을 참조하세요.

rect
pParentWnd의 클라이언트 좌표에서 만들 창의 크기와 위치를 설명하는 RECT 구조체에 대한 참조입니다.

pParentWnd
컨트롤의 부모 창에 대한 포인터입니다.

nID
컨트롤의 자식 창 ID입니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

Windows 확장 스타일 서문 WS_EX_ 지정된 확장 Windows 스타일을 적용하려면 만들기 대신 사용합니다CreateEx.

CHotKeyCtrl::GetHotKey

핫 키 컨트롤에서 바로 가기 키의 가상 키 코드 및 한정자 플래그를 검색합니다.

DWORD GetHotKey() const;

void GetHotKey(
    WORD& wVirtualKeyCode,
    WORD& wModifiers) const;

매개 변수

wVirtualKeyCode
[out] 바로 가기 키의 가상 키 코드입니다. 표준 가상 키 코드 목록은 Winuser.h를 참조하세요.

wModifiers
[out] 바로 가기 키의 한정자 키를 나타내는 플래그의 비트 조합(OR)입니다.

한정자 플래그는 다음과 같습니다.

Flag 해당 키
HOTKEYF_ALT Alt 키
HOTKEYF_CONTROL Ctrl 키
HOTKEYF_EXT 확장 키
HOTKEYF_SHIFT SHIFT 키

Return Value

첫 번째 오버로드된 메서드에서 가상 키 코드 및 한정자 플래그를 포함하는 DWORD입니다. 낮은 순서 단어의 낮은 순서 바이트에는 가상 키 코드가 포함되고, 하위 단어의 상위 바이트에는 한정자 플래그가 포함되고, 상위 단어는 0입니다.

설명

가상 키 코드와 한정자 키는 함께 바로 가기 키를 정의합니다.

CHotKeyCtrl::GetHotKeyName

이 멤버 함수를 호출하여 핫 키의 지역화된 이름을 가져옵니다.

CString GetHotKeyName() const;

Return Value

현재 선택한 핫 키의 지역화된 이름입니다. 선택한 핫 키가 GetHotKeyName 없으면 빈 문자열을 반환합니다.

설명

이 멤버 함수가 반환하는 이름은 키보드 드라이버에서 가져옵니다. 지역화된 버전의 Windows에서 지역화되지 않은 키보드 드라이버를 설치할 수 있으며 그 반대의 경우도 마찬가지입니다.

CHotKeyCtrl::GetKeyName

이 멤버 함수를 호출하여 지정된 가상 키 코드에 할당된 키의 지역화된 이름을 가져옵니다.

static CString GetKeyName(
    UINT vk,
    BOOL fExtended);

매개 변수

vk
가상 키 코드입니다.

fExtended
가상 키 코드가 확장 키인 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.

Return Value

vk 매개 변수로 지정된 키의 지역화된 이름입니다. 키에 매핑된 이름이 GetKeyName 없으면 빈 문자열을 반환합니다.

설명

이 함수가 반환하는 키 이름은 키보드 드라이버에서 제공되므로 지역화된 버전의 Windows에 지역화되지 않은 키보드 드라이버를 설치할 수 있고 그 반대의 경우도 마찬가지입니다.

예시

CString str;
str = CHotKeyCtrl::GetKeyName(VK_CONTROL, FALSE);
// str is now "Ctrl", or the localized equivalent.

CHotKeyCtrl::SetHotKey

핫 키 컨트롤의 바로 가기 키를 설정합니다.

void SetHotKey(
    WORD wVirtualKeyCode,
    WORD wModifiers);

매개 변수

wVirtualKeyCode
[in] 바로 가기 키의 가상 키 코드입니다. 표준 가상 키 코드 목록은 Winuser.h를 참조하세요.

wModifiers
[in] 바로 가기 키의 한정자 키를 나타내는 플래그의 비트 조합(OR)입니다.

한정자 플래그는 다음과 같습니다.

Flag 해당 키
HOTKEYF_ALT Alt 키
HOTKEYF_CONTROL Ctrl 키
HOTKEYF_EXT 확장 키
HOTKEYF_SHIFT SHIFT 키

설명

가상 키 코드와 한정자 키는 함께 바로 가기 키를 정의합니다.

CHotKeyCtrl::SetRules

이 함수를 호출하여 핫 키 컨트롤의 잘못된 조합과 기본 한정자 조합을 정의합니다.

void SetRules(
    WORD wInvalidComb,
    WORD wModifiers);

매개 변수

wInvalidComb
잘못된 키 조합을 지정하는 플래그의 배열입니다. 다음 값의 조합일 수 있습니다.

  • HKCOMB_A ALT

  • HKCOMB_C CTRL

  • HKCOMB_CA CTRL+ALT

  • 수정되지 않은 키 HKCOMB_NONE

  • HKCOMB_S SHIFT

  • HKCOMB_SA SHIFT+ALT

  • HKCOMB_SC SHIFT+CTRL

  • HKCOMB_SCA SHIFT+CTRL+ALT

wModifiers
사용자가 잘못된 조합을 입력할 때 사용할 키 조합을 지정하는 플래그 배열입니다. 한정자 플래그에 대한 자세한 내용은 GetHotKey를 참조 하세요.

설명

사용자가 wInvalidComb지정된 플래그로 정의된 잘못된 키 조합을 입력하면 시스템은 OR 연산자를 사용하여 사용자가 입력한 키를 wModifiers지정된 플래그와 결합합니다. 결과 키 조합은 문자열로 변환된 다음 핫 키 컨트롤에 표시됩니다.

참고 항목

CWnd 클래스
계층 구조 차트