메뉴 및 리소스: 메뉴 병합

이 문서에서는 비주얼 편집을 처리 하 고 정품 인증 제대로 내부 OLE 문서 응용 프로그램에 필요한 단계를 자세히 설명 합니다.현재 위치에서 활성화는 컨테이너와 서버 둘 다에 대 한 도전 (구성 요소) 응용 프로그램을 발생할 수 있습니다.사용자 (컨테이너 문서의 컨텍스트) 내에서 동일한 프레임 창에서 남아 있지만 실제로 다른 응용 프로그램 (서버)를 실행 하는 것.이 컨테이너 및 서버 응용 프로그램의 리소스 간의 조정이 필요합니다.

이 문서에서 다루는 내용은 다음과 같습니다.

  • 메뉴 레이아웃

  • 도구 모음 및 상태 표시줄

메뉴 레이아웃

먼저 메뉴 레이아웃을 조정 하는 것입니다.자세한 내용은 메뉴 만들기 섹션에서 메뉴 프로그래밍 고려 사항 에 Windows SDK.

컨테이너 응용 프로그램 내부에 포함 된 항목 활성화 됩니다 때 사용할 새 메뉴를 만들어야 합니다.최소한이이 메뉴에 나열 된 순서 대로 다음 중 구성 되어야 합니다.

  1. 파일이 열린 경우에 사용 하는 것과 동일한 파일 메뉴.(일반적으로 다른 메뉴 항목과 다음 항목 앞에 배치 됩니다.)

  2. 두 개의 연속 된 구분 기호입니다.

  3. 파일이 열린 경우에 사용 하는 것과 동일한 창 메뉴 (경우에만 MDI 응용 프로그램에서는 컨테이너 응용 프로그램).일부 응용 프로그램은 포함된 항목이 내부에서 활성화 될 때 메뉴에서 유지 됩니다.이 그룹에 속하는 다른 메뉴 옵션은 메뉴와 같은 있을 수 있습니다.

    [!참고]

    컨테이너 문서의 확대/축소와 같이 보기에 영향을 주는 다른 메뉴가 있을 수 있습니다.이러한 컨테이너 메뉴가 메뉴 리소스에는 두 개의 구분 기호 사이 나타납니다.

서버 (구성 요소) 응용 프로그램은 현재 위치에서 활성화 위한 새 메뉴도 만들어야 합니다.파일이 열릴 때 사용 하는 메뉴와 같은 메뉴 항목 파일 데이터 대신 서버 문서를 조작 하는 창과 같은 않고이 있어야 합니다.일반적으로이 메뉴는 다음과 같은 요소로 구성 됩니다.

  1. 파일이 열린 경우에 사용 하는 것과 동일한 메뉴를 편집 합니다.

  2. 구분 기호입니다.

  3. Scribble 샘플 응용 프로그램에서 펜 메뉴와 같은 메뉴를 편집 하는 개체입니다.

  4. 구분 기호입니다.

  5. 도움말 메뉴입니다.

예를 들어, 컨테이너와 서버에 대 한 일부 샘플 위치에서 메뉴의 레이아웃을 확인 합니다.예제를 더 명확 하 게 각 메뉴 항목의 세부 사항은 제거 했습니다.컨테이너의 내부 메뉴는 다음과 같은 항목이 있습니다.

IDR_CONTAINERTYPE_CNTR_IP MENU PRELOAD DISCARDABLE 
BEGIN
    POPUP "&File C1"
    MENUITEM SEPARATOR
    POPUP "&Zoom C2"
    MENUITEM SEPARATOR
    POPUP "&Options C3"
    POPUP "&Window C3"
END

연속 된 구분 기호 서버의 메뉴의 첫 부분이 있어야 할 위치를 나타냅니다.이제 서버의 내부 메뉴에 나타납니다.

IDR_SERVERTYPE_SRVR_IP MENU PRELOAD DISCARDABLE 
BEGIN
    POPUP "&Edit S1"
    MENUITEM SEPARATOR
    POPUP "&Format S2"
    MENUITEM SEPARATOR
    POPUP "&Help S3"
END

여기에서 구분 기호는 컨테이너 메뉴 항목의 둘째 그룹이 있어야 할 위치를 나타냅니다.이 서버에서 개체를이 컨테이너 내부에서 활성화 될 때 결과 메뉴 구조는 다음과 같습니다.

BEGIN
    POPUP "&File C1"
    POPUP "&Edit S1"
    POPUP "&Zoom C2"
    POPUP "&Format S2"
    POPUP "&Options C3
    POPUP "&Window C3"
    POPUP "&Help S3"
END

볼 수 있듯이 다른 그룹과 각 응용 프로그램의 메뉴 구분 기호 대체 되었습니다.

내부 메뉴와 연결 된 액셀러레이터 키 테이블은 서버 응용 프로그램에도 제공 되어야 합니다.컨테이너에 고유한 액셀러레이터 키 테이블에 통합 합니다.

프레임 워크 포함된 항목이 내부에서 활성화 될 때 현재 위치에서 메뉴를 로드 합니다.서버 응용 프로그램의 메뉴에 대 한 현재 위치에서 활성화를 요청 하 고 구분 기호는 어디에 삽입 합니다.이 메뉴를 어떻게 결합입니다.파일 및 창 배치에 운영에 대 한 메뉴에서 컨테이너 가져오기 및 항목에서 운영 체제에 대 한 메뉴를 서버에서 가져올.

도구 모음 및 상태 표시줄

서버 응용 프로그램 도구 모음을 새로 만들고 해당 비트맵을 다른 파일에 저장 해야 합니다.응용 프로그램 마법사가 생성은이 비트맵 ITOOLBAR 라는 파일에 저장 합니다.BMP입니다.서버 항목이 내부에서 활성화 될 해야 동일한 표준 도구 모음에서 항목을 포함 하며 파일 및 창 메뉴 항목을 나타내는 아이콘을 제거 하면 새 도구 모음이 컨테이너 응용 프로그램의 도구 모음을 바꿉니다.

이 도구 모음에서 로드 되는 COleIPFrameWnd-응용 프로그램 마법사가 만든 클래스, 파생 된.상태 표시줄은 컨테이너 응용 프로그램에 의해 처리 됩니다.내부 프레임 창 구현에 대 한 자세한 내용은 서버: 서버 구현.

참고 항목

개념

메뉴 및 리소스 (OLE)

활성화 (C++)

서버

컨테이너