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();
Return Value
CDialog::EndDialog 메서드에 전달되는 IDOK 또는 IDCANCEL과 같은 부호 있는 정수입니다. 메서드는 차례로 대화 상자를 닫습니다. 자세한 내용은 CDialog::D oModal을 참조하세요.
설명
키보드 매핑 대화 상자를 사용하면 다양한 명령 범주에 바로 가기 키를 선택하고 할당할 수 있습니다. 또한 선택한 액셀러레이터 키와 해당 설명을 클립보드에 복사할 수 있습니다.
CMFCKeyMapDialog::FormatItem
키 매핑을 설명하는 문자열을 빌드하기 위해 프레임워크에서 호출됩니다. 기본적으로 문자열에는 명령 이름, 사용된 바로 가기 키 및 바로 가기 키 설명이 포함됩니다.
virtual CString FormatItem(int nItem) const;
매개 변수
nItem
[in] 키 매핑의 내부 목록에 있는 항목의 인덱스(0부터 시작하는 인덱스)입니다.
Return Value
CString
서식이 지정된 항목 텍스트가 들어 있는 개체입니다.
설명
CMFCKeyMapDialog::GetCommandKeys
문자열 값을 검색합니다. 문자열에는 지정된 명령과 연결된 바로 가기 키 목록이 포함되어 있습니다.
virtual CString GetCommandKeys(UINT uiCmdID) const;
매개 변수
uiCmdID
[in] 명령 ID입니다.
Return Value
지정된 명령과 연결된 바로 가기 키의 세미콜론으로 구분(';')된 목록입니다.
설명
CMFCKeyMapDialog::OnInsertItem
키보드 매핑 컨트롤을 지원하는 내부 목록 컨트롤에 새 항목이 삽입되기 전에 프레임워크에서 호출됩니다.
virtual void OnInsertItem(
CMFCToolBarButton* pButton,
int nItem);
매개 변수
pButton
[in] 키보드 키 조합을 명령 이름 및 설명에 매핑하는 데 사용되는 도구 모음 단추에 대한 포인터입니다. 키 맵 항목은 내부 목록 컨트롤에 저장됩니다.
nItem
[in] 내부 목록 컨트롤에 새 키 맵 항목을 삽입할 위치를 지정하는 인덱스(0부터 시작하는 인덱스)입니다.
설명
CMFCKeyMapDialog::OnPrintHeader
새 페이지에 키보드 맵의 헤더를 인쇄하기 위해 프레임워크에서 호출됩니다.
virtual int OnPrintHeader(
CDC& dc,
int nPage,
int cx) const;
매개 변수
dc
[in] 프린터의 디바이스 컨텍스트입니다.
nPage
[in] 인쇄할 페이지 번호입니다.
cx
[in] 머리글의 가로 오프셋(픽셀)입니다.
Return Value
성공하면 인쇄된 텍스트의 높이입니다. 자세한 내용은 CDC::D rawText의 반환 값 섹션을 참조하세요.
설명
프레임워크는 이 메서드를 사용하여 키보드 맵을 인쇄합니다. 기본적으로 이 메서드는 페이지 번호, 애플리케이션 이름 및 대화 상자 제목을 인쇄합니다.
CMFCKeyMapDialog::OnPrintItem
키보드 매핑 항목을 인쇄하기 위해 프레임워크에서 호출됩니다.
virtual int OnPrintItem(
CDC& dc,
int nItem,
int y,
int cx,
BOOL bCalcHeight) const;
매개 변수
dc
[in] 프린터의 디바이스 컨텍스트입니다.
nItem
[in] 인쇄할 항목의 인덱스(0부터 시작하는 인덱스)입니다.
y
[in] 페이지 위쪽과 항목 위치 사이의 세로 오프셋입니다.
cx
[in] 페이지 왼쪽과 항목 위치 사이의 가로 오프셋입니다.
bCalcHeight
[in] 인쇄 항목에 가장 적합한 높이를 계산하려면 TRUE입니다. 기본 공간에 맞도록 인쇄 항목을 자르려면 FALSE입니다.
Return Value
인쇄된 항목의 높이입니다.
설명
프레임워크는 이 메서드를 호출하여 키 맵 대화 상자 항목을 인쇄합니다. 기본적으로 이 메서드는 항목의 명령 이름, 바로 가기 키 및 명령 설명을 출력합니다.
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();
설명
이 메서드는 내부 목록 컨트롤의 열을 기본 너비로 설정합니다. 첫째, 바로 가기 키 열의 너비가 계산됩니다. 그런 다음 나머지 너비의 3분의 1이 명령 열에 할당되고 나머지 3분의 2가 설명 열에 할당됩니다.