MFC 컨트롤을 ActiveX: 다른 사용자 지정 속성 페이지 추가

때때로 ActiveX 컨트롤 속성 페이지에 적절 하 게 맞출 수 있는 더 많은 속성이 있습니다.이 경우 이러한 속성을 표시 하는 ActiveX 컨트롤에 속성 페이지를 추가할 수 있습니다.

적어도 하나의 속성 페이지가 이미 있는 ActiveX 컨트롤에 새 속성 페이지를 추가 하는 설명 합니다.스톡 속성 추가 대 한 자세한 내용은 페이지 (글꼴, 그림 또는 컬러) 문서를 참고 하십시오 MFC ActiveX 컨트롤: 스톡 속성 페이지를 사용 하 여.

다음 절차는 ActiveX 컨트롤 마법사에서 만든 샘플 ActiveX 제어 프레임 워크를 사용 합니다.따라서 클래스 이름과 식별자는 다음이 예제에서 고유 있습니다.

ActiveX 컨트롤의 속성 페이지를 사용 하 여에 대 한 자세한 내용은 다음 문서를 참조 하십시오.

프로젝트에 새 속성 페이지 템플릿을 삽입 하려면

  1. 컨트롤 프로젝트가 열린, 프로젝트 작업 영역에서 리소스 뷰를 엽니다.

  2. 자원 보기에서 바로 가기 메뉴를 연 다음 클릭 합니다 마우스 오른쪽 추가 리소스.

  3. 확장은 대화 노드를 선택 하 고 IDD_OLE_PROPPAGE_SMALL.

  4. 클릭 New 프로젝트에 리소스를 추가 합니다.

  5. 속성 창을 새로 고치는 새 속성 페이지 템플릿을 선택 합니다.

  6. 새 값을 입력 하 여 ID 속성입니다.이 예제를 사용 하 여 IDD_PROPPAGE_NEWPAGE.

  7. 도구 모음에서 저장을 클릭합니다.

새 템플릿 클래스와 연결 하려면

  1. 클래스 뷰를 엽니다.

  2. 클래스 뷰 바로 가기 메뉴를 열려면 마우스 오른쪽 단추로 클릭 합니다.

  3. 바로 가기 메뉴에서 추가를 클릭한 다음 클래스 추가를 클릭합니다.

    이 열은 클래스 추가 대화 상자.

  4. 두 번 클릭 하 여 MFC 클래스 템플릿.

  5. 클래스 이름 상자 MFC 클래스 마법사, 새 대화 상자 클래스의 이름을 입력 합니다.(예: CAddtlPropPage.)

  6. 파일 이름을 변경 하려면 클릭 합니다. 변경.구현 및 헤더 파일의 이름을 입력 하거나 기본 이름을 적용 합니다.

  7. 기본 클래스 상자에서 COlePropertyPage.

  8. 대화 ID 상자에서 IDD_PROPPAGE_NEWPAGE.

  9. 클릭 완료 클래스를 만들 수 있습니다.

컨트롤의이 새 속성 페이지에 액세스할 수 있도록 하려면 다음과 같이 컨트롤의 속성 페이지 Id 매크로 부분 (컨트롤 구현 파일에 있음)에 변경:

BEGIN_PROPPAGEIDS(CMyAxUICtrl, 2)
   PROPPAGEID(CMyAxUIPropPage::guid)
   PROPPAGEID(CAddtlPropPage::guid)
END_PROPPAGEIDS(CMyAxUICtrl)

참고 두 번째 매개 변수를 늘려야는 BEGIN_PROPPAGEIDS 1에서 매크로 (속성 페이지 수) 2.

또한 컨트롤 구현 파일을 수정 해야 (.머리글을 포함 하는 CPP) 파일 (.H) 새 속성 페이지 클래스의 파일입니다.

새 속성 페이지에 대 한 형식 이름 및 캡션을 제공 하는 두 개의 새로운 문자열 리소스 만들기 다음 단계.

속성 페이지에 새 문자열 리소스를 추가 하려면

  1. 컨트롤 프로젝트가 열린, 리소스 뷰를 엽니다.

  2. 두 번의 문자열 테이블 기존 문자열 테이블 리소스 문자열을 추가 하려는 폴더 및 다음 두 번 클릭 합니다.

    창에서 문자열 테이블을 엽니다.

  3. 문자열 테이블의 끝에 빈 줄을 선택 하 고 텍스트, 또는 문자열의 캡션을 입력 합니다: 예를 들어, "추가 속성 페이지입니다."

    이렇게는 문자열 속성 페이지가 표시 캡션ID 상자.캡션 상자에 입력 한 문자열이 포함 되어 있습니다.

  4. ID 상자를 선택 하거나 ID 문자열을 입력 합니다.작업을 마치면 Enter 키를 누릅니다.

    이 예제를 사용 하 여 IDS_SAMPLE_ADDPAGE 의 새 속성 페이지 형식 이름에 대 한.

  5. 반복 단계 3과 4를 사용 하 여 IDS_SAMPLE_ADDPPG_CAPTION ID 및 캡션에 대 한 "추가 속성 페이지".

  6. 에 해당 합니다.CPP 파일의 새 속성 페이지 클래스 (이 예제에서는 CAddtlPropPage) 수정는 CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry IDS_SAMPLE_ADDPAGE로 전달 되도록 AfxOleRegisterPropertyPageClass, 다음 예제와 같이:

    BOOL CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry(BOOL bRegister)
    {
       if (bRegister)
          return AfxOleRegisterPropertyPageClass(AfxGetInstanceHandle(),
             m_clsid, IDS_SAMPLE_ADDPAGE);
       else
          return AfxOleUnregisterClass(m_clsid, NULL);
    }
    
  7. 생성자를 수정 CAddtlPropPage 있도록 IDS_SAMPLE_ADDPPG_CAPTION 에 전달 되는 COlePropertyPage 같이 생성자:

    CAddtlPropPage::CAddtlPropPage() :
       COlePropertyPage(IDD, IDS_SAMPLE_ADDPPG_CAPTION)
    {
    
    }
    

프로젝트를 다시 빌드하고 Test Container를 사용 하 여 새 속성 페이지를 테스트 하려면 필요에 따라 수정 변경한 후.테스트 컨테이너에 액세스하는 방법에 대한 자세한 내용은 Test Container를 사용하여 속성 및 이벤트 테스트를 참조하십시오.

참고 항목

개념

MFC 컨트롤을 ActiveX