TN022: 표준 명령 구현

이 노트에서는 MFC 2.0에서 제공 되는 표준 명령 구현을 설명 합니다. 이후 많은 표준 명령을 구현 하는 데 사용 하는 메커니즘을 설명 하는 기술 노트 21 을 먼저 읽고 반드시。

이 설명에는 MFC 아키텍처, Api를, 그리고 일반적인 프로그래밍 연습의 지식이 있다고 가정 합니다. Api는 문서화 뿐만 아니라 문서화 "구현"만 설명 합니다. 이의 기능 또는 MFC에서 프로그래밍 하는 방법에 대해 배울 수 시작 하는 장소가 아니다. Visual c + + 프로그래머 가이드 보다 일반적인 정보 및 문서화 된 Api의 세부 정보를 참조 하십시오。

문제

MFC 헤더 파일 AFXRES에에서 많은 표준 명령 Id를 정의합니다.이러한 명령에 대 한 헤 프레임 워크 지원에 따라 다릅니다. 프레임 워크의 내부적으로 작동 하지만 표준 구현을 사용자 지정 하 고 잘하면 명령 처리기를 구현 하는 몇 가지 기술을 가르쳐 하는 방법에 유용한 정보를 제공할 것입니다 어떻게 보여줄 뿐만 아니라 프레임 워크 클래스 처리 이러한 명령을 지 어디서 및 어떻게 understanding。

이 기술 노트의 내용

각 명령 ID 두 섹션에서 설명 하는:

대부분의 기본 명령을 구현 프레임 워크의 기본 클래스 메시지 맵에서 prewired 있다. 파생된 클래스에서 명시적 배선이 필요로 하는 일부 명령 구현이 있습니다. "Note"에서 설명 되어 있습니다. 생성 된 뼈대 응용 프로그램에서 당신을 위해 이러한 기본 처리기를 연결 됩니다 Appwizard에서 올바른 옵션을 선택한 경우。

명명 규칙

표준 명령 가능 하면 사용 하는 것이 좋습니다 간단한 명명 규칙을 따릅니다. 대부분의 표준 명령 응용 프로그램의 메뉴 모음에서 표준 위치에 있습니다. 명령어의 심볼 이름 시작 "ID_" 표준 팝업 메뉴 이름, 메뉴 항목 이름 뒤에 옵니다. 기호 이름이 밑줄 단어 줄바꿈으로 대문자입니다. 표준 메뉴 항목 이름이 없는 명령에 대 한 논리적인 명령 이름을 정의 "ID_" (예를 들어, ID_NEXT_PANE)로 시작。

접두사 "ID_" '을 사용 하 여 명령을 메뉴 항목, 도구 모음 단추 또는 다른 명령 사용자 인터페이스 개체에 바인딩할 수 있도록 설계를 나타냅니다. 명령 처리기 "ID_" 명령 처리 MFC 명령 아키텍처의 ON_COMMAND 및 ON_UPDATE_COMMAND_UI 메커니즘을 사용 해야。

표준 "IDM_" 접두사를 사용 하 여 메뉴 항목 명령 아키텍처에 따라 및 메뉴 관련 코드를 활성화 하 고 비활성화 해야 하는 것이 좋습니다. 물론 메뉴의 특정 명령 수가 작은 되어야 이후 다음 MFC 명령 아키텍처 뿐만 아니라 (이후 그들은 도구 모음과 작동) 명령 처리기를 더 강력 하 게 하지만 명령 처리기 코드를 재사용할 수。

ID 범위

MFC에서 ID 범위를 사용 하 여에 대 한 자세한 내용은 기술 노트 20 를 참조 하십시오。

MFC 표준 명령 범위 0xE000 0xefff가을. 제발에 의존 하지 마십시오 이러한 Id의 특정 값 때문에 그들은 라이브러리의 향후 버전에서 변경 될 수 있습니다。

응용 프로그램 범위 0x8000 0xDFFF 명령을 정의 해야。

표준 명령 Id

각 명령 ID에 대 한 표준 메시지 줄 프롬프트 문자열 파일 프롬프트에서 찾을 수 있다.RC입니다. 해당 메뉴 음성 안내에 대 한 문자열 ID 명령 ID와 동일 하 게 해야 합니다.

업데이트 전용 명령 처리기

상태 표시줄에 표시기로 사용 되는 몇 가지 표준 명령 Id는. 이러한 동일한 응용 프로그램 유휴 시간 동안 그들의 현재 시각적 상태를 표시 하려면 업데이트 명령 UI 처리 메커니즘을 사용 합니다. 때문에 사용자가 선택할 수 없습니다 (즉, 당신은 상태 표시줄 창 밀어 수 없습니다), 다음 이러한 ON_COMMAND 처리기 명령 Id가 말도 안돼。

모두 세 가지의 CFrameWnd::OnUpdateKeyIndicator, 명령 ID를 사용 하 여 해당 가상 키에 매핑하는 구현 도우미에서에서 구현 됩니다. 일반적인 구현 하거나 해제 (비활성화 상태 창 텍스트 없음 =) 해당 가상 키 현재 잠겨 있는지 여부에 따라 CCmdUI 개체。

이 명령 처리기의 사용자 지정 권장 되지 않습니다.

현재에 이러한 지표에 대 한 표준 구현이 없기。

이러한 표시기를 구현 하도록 선택 하면 이러한 표시기 Id 및 상태 표시줄에 표시기의 순서를 유지를 사용 하면 것이 좋습니다 (즉,이 순서: EXT, 모자, NUM, SCRL, OVR, REC)。

기술 노트 번호로 |nbsp; 카테고리별 기술 노트(&N)

Index