다음을 통해 공유


IDL MFC 메서드 추가

IDL MFC 메서드 추가 마법사는 MFC(Microsoft Framework 클래스) 프로젝트에 정의된 IDL(인터페이스 정의 라이브러리) 인터페이스에 메서드를 추가합니다. 프로젝트에 인터페이스와 연결된 클래스가 포함된 경우 마법사에서는 클래스에 메서드도 추가합니다.

이 마법사를 사용하려면 MFC 프로젝트, ActiveX 프로젝트 또는 MFC를 지원하는 ATL 프로젝트에 있어야 합니다. 예를 들어 Microsoft ActiveX 컨트롤 프로젝트가 있는 경우 다음 절차를 사용하여 솔루션의 IDL 인터페이스에 메서드를 추가할 수 있습니다.

이 마법사는 다음과 같은 방법으로 메서드 추가 마법사(IDL 인터페이스에 메서드를 추가)와 다릅니다.

  • MFC를 지원하는 MFC, ActiveX 또는 ATL 프로젝트와 관련이 있습니다. MFC를 지원하지 않는 ATL 프로젝트의 경우 메서드 추가 마법사만 사용할 수 있습니다.

  • 프로젝트에서 디스패치 맵이 발견되면 다음 항목을 추가합니다.

    BEGIN_DISPATCH_MAP(CMFCApplication2Doc, CDocument)
        DISP_FUNCTION_ID(CMFCApplication2Doc, "methodName", dispidmethodName, internalName, VT_EMPTY, VTS_NONE)
    END_DISPATCH_MAP()
    
  • 다음과 같은 연결된 메서드 구현을 생성합니다.

    void CMFCApplication2Doc::internalName()
    {
         AFX_MANAGE_STATE(AfxGetAppModuleState());
         // TODO: Add your dispatch handler code here
    }
    

인터페이스에 메서드 추가

  1. 보기 메뉴에서 클래스 뷰를 선택합니다.

  2. 클래스 뷰에서 프로젝트 노드를 확장하여 메서드를 추가할 인터페이스를 표시합니다.

  3. 인터페이스의 이름을 마우스 오른쪽 단추로 클릭합니다.

  4. 바로 가기 메뉴에서 추가를 선택한 다음 메서드 추가를 선택합니다.

  5. IDL MFC 메서드 추가 마법사에서 메서드에 대한 정보를 제공합니다.

  6. 확인을 선택하여 메서드를 추가합니다.

UI 요소 목록

다음 섹션에서는 IDL MFC 메서드 추가 마법사 UI에 대해 설명합니다.

Wizard UI. Method name:DoClick, Internal name:DoClick, Return type:void, Method type:custom, Parameters:long l, char C, Attributes id:1.

  • 메서드 이름

    메서드의 이름을 설정합니다. 다음 표에서는 인터페이스 종류에 따라 메서드 이름 옵션을 설명합니다.

    인터페이스 종류 메서드 이름
    ATL 이중 인터페이스, 사용자 지정 인터페이스 및 로컬 사용자 지정 인터페이스 사용자 고유의 메서드 이름을 제공합니다.
    MFC dispinterface 사용자 고유의 메서드 이름을 제공하거나 목록에서 제안된 메서드 이름을 선택합니다. 목록에서 이름을 선택하면 반환 형식에 적절한 반환 형식이 표시되며 변경할 수 없습니다.
    MFC ActiveX 컨트롤 dispinterface 고유한 메서드 이름을 제공하거나 주식 방법 중 하나인 DoClick 또는 Refresh를 선택합니다. 주식 방법에 대한 자세한 내용은 MFC ActiveX 컨트롤: 스톡 메서드 추가를 참조 하세요.
  • 내부 이름

    메서드 형식이 사용자 지정경우에만 사용할 수 있습니다. 내부 이름은 디스패치 맵, 헤더(.h) 파일 및 구현(.cpp) 파일에서 사용할 이름입니다. 기본적으로 이 이름은 메서드 이름과 동일합니다. MFC dispinterface에 추가됩니다.

    MFC 또는 MFC ActiveX 컨트롤 dispinterface에 메서드를 추가하는 경우 다음 표에 설명된 대로 메서드 이름을 변경할 수 있습니다.

    인터페이스 유형 내부 이름
    ATL 이중 인터페이스, 사용자 지정 인터페이스 및 로컬 사용자 지정 인터페이스 사용할 수 없습니다.
    MFC dispinterface 기본적으로 메서드 이름에 설정 합니다. 내부 이름을 편집할 수 있습니다.
    MFC ActiveX 컨트롤 dispinterface 사용자 지정 메서드에 대한 내부 이름을 설정할 수 있습니다. 스톡 메서드는 내부 이름을 사용 하지 않습니다.
  • 반환 형식

    메서드에서 반환하는 데이터 형식입니다. 인터페이스 메서드의 표준 반환 형식은 .입니다 HRESULT.

    인터페이스가 이중 인터페이스 또는 사용자 지정 인터페이스인 경우 반환 형식만 HRESULT 허용됩니다.

    다음 표에 설명된 대로 메서드가 추가되는 인터페이스의 종류에 따라 데이터 형식을 설정할 수 있습니다.

    인터페이스 종류 반환 형식
    이중 인터페이스 HRESULT. 변경할 수 없습니다.
    사용자 지정 인터페이스 HRESULT. 변경할 수 없습니다.
    로컬 사용자 지정 인터페이스 고유한 반환 형식을 제공하거나 목록에서 하나를 선택합니다.
    Dispinterface 고유한 반환 형식을 제공하거나 목록에서 하나를 선택합니다.
    MFC ActiveX 컨트롤 dispinterface 스톡 메서드를 구현하는 경우 반환 형식은 적절한 값으로 설정되어 변경될 수 없습니다. 메서드 이름 목록에서 메서드를 선택하고 메서드 유형 선택에서 사용자 지정을 선택하는 경우 목록에서 반환 형식을 선택합니다.
  • 메서드 형식

    MFC ActiveX 컨트롤에 대해서만 사용 가능합니다. 목록에서 메서드를 선택하는 대신 메서드 이름에 메서드 이름을 제공한 경우 사용할 수 없습니다.

    메서드 이름 목록에서 메서드 중 하나를 선택하는 경우 메서드 유형 드롭다운에서 Stock 또는 Custom 구현을 선택합니다. 메서드를 선택하면 다음 표에 설명된 대로 마법사에서 제공하는 반환 형식 및 메서드 구현에 영향을 줍니다.

    메서드 형식 설명
    스톡 기본값입니다. 메서드 이름 목록에서 선택한 메서드의 기본 구현을 삽입합니다. 반환 형식스톡을 선택하는 경우 변경할 수 없습니다.
    사용자 지정 메서드 이름에서 선택한 메서드에 대한 사용자 지정 구현을 제공합니다. 고유한 반환 형식을 제공하거나 반환 형식 목록에서 하나를 선택할 수 있습니다.
  • 매개 변수

    메서드의 매개 변수, 한정자 및 형식을 표시합니다. 마법사는 매개 변수를 추가할 때 매개 변수 목록을 업데이트합니다.

  • +

    매개 변수를 추가합니다. 매개 변수에 매개 변수 형식, 이름 및 한정자를 입력합니다. 예를 들어, int x를 입력하고 확인을 선택합니다.

    매개 변수 이름을 제공하지 않으면 마법사는 매개 변수 형식 선택을 무시하고 ATL 프로젝트의 경우 매개 변수 특성도 무시됩니다.

  • x

    매개 변수 목록에서 선택한 매개 변수를 제거합니다.

  • 연필 아이콘을 선택하여

    선택한 매개 변수를 편집합니다.

  • id

    메서드를 식별하는 숫자 ID를 설정합니다. 자세한 내용은 MIDL 참조참조 id 하세요.

  • call_as

    이 로컬 메서드가 매핑되는 원격 매서드의 이름을 지정합니다. 자세한 내용은 MIDL 참조참조 call_as 하세요.

  • helpcontext

    도움말 파일에서 사용자가 이 메서드에 대한 정보를 볼 수 있는 컨텍스트 ID를 지정합니다. 자세한 내용은 MIDL 참조참조 helpcontext 하세요.

  • helpstring

    연결된 요소를 설명하는 텍스트를 지정합니다. 기본적으로 메서드 이름입니다. 자세한 내용은 MIDL 참조의 도움말 문자열을참조하세요.

참고 항목

메서드 추가 마법사
IDL 메서드 추가 마법사
MFC 마법사 및 대화 상자