다음을 통해 공유


메뉴 및 리소스(OLE)

이 문서 그룹은 MFC OLE 문서 애플리케이션에서 메뉴 및 리소스의 사용을 설명합니다.

OLE 시각적 개체 편집은 컨테이너 및 서버(구성 요소) 애플리케이션을 모두 시작하고 사용할 수 있는 여러 모드가 있기 때문에 메뉴 및 OLE 문서 애플리케이션에서 제공하는 기타 리소스에 추가 요구 사항을 적용합니다. 예를 들어 전체 서버 애플리케이션은 다음 세 가지 모드 중에서 실행할 수 있습니다.

  • 독립 실행형.

  • 컨테이너의 컨텍스트 내에서 항목을 편집하는 데 사용할 수 있습니다.

  • 컨테이너의 컨텍스트 외부에 있는 항목을 편집하기 위해 종종 별도의 창에서 엽니다.

이렇게 하려면 애플리케이션의 가능한 각 모드마다 하나씩 세 개의 개별 메뉴 레이아웃이 필요합니다. 각 새 모드에 가속기 테이블도 필요합니다. 컨테이너 애플리케이션은 현재 위치 활성화를 지원하거나 지원하지 않을 수 있습니다. 이 경우 새 메뉴 구조와 연결된 액셀러레이터 테이블이 필요합니다.

현재 위치 활성화를 사용하려면 컨테이너 및 서버 애플리케이션이 메뉴, 도구 모음 및 상태 막대 공간에 대해 협상해야 합니다. 모든 리소스는 이를 염두에 두고 설계해야 합니다. 메뉴 및 리소스: 메뉴 병합 문서에서는 이 항목에 대해 자세히 설명합니다.

이러한 문제로 인해 애플리케이션 마법사를 사용하여 만든 OLE 문서 애플리케이션에는 최대 4개의 개별 메뉴와 액셀러레이터 테이블 리소스가 있을 수 있습니다. 이러한 항목은 다음과 같은 이유로 사용됩니다.

리소스 이름 사용
IDR_MAINFRAME 열려 있는 파일이 없는 경우 MDI 애플리케이션 또는 열려 있는 파일에 관계없이 SDI 애플리케이션에서 사용됩니다. OLE가 아닌 애플리케이션에서 사용되는 표준 메뉴입니다.
<IDR_프로젝트>형식 파일이 열려 있는 경우 MDI 애플리케이션에서 사용됩니다. 애플리케이션이 독립 실행형으로 실행 중일 때 사용됩니다. OLE가 아닌 애플리케이션에서 사용되는 표준 메뉴입니다.
<IDR_ TYPE_SRVR_IP 보호> 개체가 제자리에 열려 있을 때 서버 또는 컨테이너에서 사용됩니다.
<IDR_ TYPE_SRVR_EMB 보호> 현재 위치 정품 인증을 사용하지 않고 개체가 열리는 경우 서버 애플리케이션에서 사용됩니다.

이러한 각 리소스 이름은 메뉴와 일반적으로 액셀러레이터 테이블을 나타냅니다. 애플리케이션 마법사를 사용하여 생성되지 않은 MFC 애플리케이션에서 유사한 스키마를 사용해야 합니다.

다음 문서에서는 컨테이너, 서버 및 현재 위치 활성화를 구현하는 데 필요한 메뉴 병합과 관련된 항목에 대해 설명합니다.

참고 항목

OLE