다음을 통해 공유


메뉴 및 리소스: 컨테이너 추가

이 문서에서는 시각적 편집 컨테이너 애플리케이션에서 메뉴 및 기타 리소스에 대해 수행해야 하는 변경 내용을 설명합니다.

컨테이너 애플리케이션에서는 두 가지 유형의 변경이 필요합니다. 즉, OLE 시각적 편집을 지원하기 위해 기존 리소스를 수정하고 현재 위치 활성화에 사용되는 새 리소스를 추가해야 합니다. 애플리케이션 마법사를 사용하여 컨테이너 애플리케이션을 만드는 경우 이러한 단계가 자동으로 수행되지만 일부 사용자 지정이 필요할 수 있습니다.

애플리케이션 마법사를 사용하지 않는 경우 OCLIENT를 살펴볼 수 있습니다. OCLIENT 샘플 애플리케이션의 리소스 스크립트인 RC는 이러한 변경 내용이 구현되는 방식을 확인합니다. MFC OLE 샘플 OCLIENT를 참조하세요.

이 문서에서 다루는 항목은 다음과 같습니다.

컨테이너 메뉴 추가

편집 메뉴에 다음 항목을 추가해야 합니다.

Item 목적
새 개체 삽입 OLE 개체 삽입 대화 상자를 열어 문서에 연결된 항목이나 포함된 항목을 삽입합니다.
링크 붙여넣기 클립보드의 항목에 대한 링크를 문서에 붙여넣습니다.
OLE 동사 선택한 항목의 기본 동사를 호출합니다. 이 메뉴 항목의 텍스트는 선택한 항목의 기본 동사를 반영하도록 변경됩니다.
연결 OLE 링크 편집 대화 상자를 열어 기존 연결된 항목을 변경합니다.

이 문서에 나열된 변경 내용 외에도 원본 파일에 AFXOLECL이 포함되어야 합니다. Microsoft Foundation 클래스 라이브러리 구현에 필요한 RC입니다. 새 개체 삽입만 필요한 메뉴 추가입니다. 다른 항목을 추가할 수 있지만 여기에 나열된 항목이 가장 일반적입니다.

포함된 항목의 현재 위치 활성화를 지원하려면 컨테이너 애플리케이션에 대한 새 메뉴를 만들어야 합니다. 이 메뉴는 파일이 열릴 때 사용되는 동일한 파일 메뉴와 창 팝업 메뉴로 구성되지만 두 구분 기호 사이에 배치되어 있습니다. 이러한 구분 기호는 서버(구성 요소) 항목(애플리케이션)이 활성화될 때 해당 메뉴를 배치해야 하는 위치를 나타내는 데 사용됩니다. 이 메뉴 병합 기술에 대한 자세한 내용은 메뉴 및 리소스: 메뉴 병합을 참조 하세요.

컨테이너 애플리케이션 가속기 테이블 추가

현재 위치 활성화를 지원하는 경우 컨테이너 애플리케이션의 액셀러레이터 테이블 리소스를 약간 변경해야 합니다. 첫 번째 변경 내용을 사용하면 사용자가 ESC(이스케이프 키)를 눌러 현재 위치 편집 모드를 취소할 수 있습니다. 기본 가속기 테이블에 다음 항목을 추가합니다.

ID Type
ID_CANCEL_EDIT_CNTR VK_ESCAPE VIRTKEY

두 번째 변경 내용은 현재 위치 활성화를 위해 만든 새 메뉴 리소스에 해당하는 새 액셀러레이터 테이블을 만드는 것입니다. 이 표에는 위의 VK_ESCAPE 항목 외에도 파일 및 창 메뉴에 대한 항목이 있습니다. 다음 예제는 MFC 샘플 CONTAINER에서 현재 위치 활성화를 위해 만든 액셀러레이터 테이블입니다.

ID Type
ID_FILE_NEW CTRL+N VIRTKEY
ID_FILE_OPEN Ctrl+O VIRTKEY
ID_FILE_SAVE Ctrl+S VIRTKEY
ID_FILE_PRINT Ctrl+P VIRTKEY
ID_NEXT_PANE VK_F6 VIRTKEY
ID_PREV_PANE SHIFT+VK_F6 VIRTKEY
ID_CANCEL_EDIT_CNTR VK_ESCAPE VIRTKEY

컨테이너 애플리케이션에 대한 문자열 테이블 추가

컨테이너 애플리케이션의 문자열 테이블에 대한 대부분의 변경 내용은 컨테이너 메뉴 추가에 멘션 추가 메뉴 항목에 해당합니다. 각 메뉴 항목이 표시될 때 상태 표시줄에 표시되는 텍스트를 제공합니다. 예를 들어 애플리케이션 마법사에서 생성하는 문자열 테이블 항목은 다음과 같습니다.

ID 문자열
IDP_OLE_INIT_FAILED OLE 초기화에 실패했습니다. OLE 라이브러리가 올바른 버전인지 확인합니다.
IDP_FAILED_TO_CREATE 개체를 만들지 못했습니다. 개체가 시스템 레지스트리에 입력되어 있는지 확인합니다.

참고 항목

메뉴 및 리소스(OLE)
메뉴 및 리소스: 서버 추가