다음을 통해 공유


InfoPath 양식 데이터에 바인딩할 수 있는 ActiveX 컨트롤 만들기

InfoPath 편집기에서 열도록 디자인된 InfoPath 양식에서 ActiveX 컨트롤을 호스팅할 수 있습니다. 이러한 컨트롤은 몇 가지 제약 조건과 함께 미리 존재하거나, InfoPath에서 사용하기 위해 특별히 작성할 수 있습니다.

ActiveX 컨트롤 작성

InfoPath의 다른 컨트롤과 마찬가지로 ActiveX 컨트롤은 다음과 같은 기존 COM(구성 요소 개체 모델) 인터페이스를 지원해야 합니다.

  • IDispatch

  • IPersistPropertyBag

  • IPersistStreamInit

  • IPropertyPage

  • IObjectSafety

  • IPropertyNotifySink

  • IViewObject

  • IOleObject

  • IOleInPlaceObject

컨트롤에서 DOM(문서 개체 모델)의 속성이 변경될 때 InfoPath에서 해당 속성을 업데이트하려면 해당 컨트롤에서 다음 인터페이스를 구현해야 합니다.

  • IConnectionPointContainer

  • IEnumConnectionPoints

  • IConnectionPoint

  • IEnumConnections

또한 컨트롤을 더욱 긴밀하게 통합하는 다음 두 가지의 InfoPath 관련 COM 인터페이스가 있습니다.

InfoPath 디자인 환경에 ActiveX 컨트롤 추가

컨트롤 작업창의 사용자 지정 컨트롤 추가 또는 제거 명령을 사용하면 사용자 지정 컨트롤 추가 마법사를 통해 사용자 지정 컨트롤을 추가할 수 있습니다. 마법사를 사용하여 이미 등록된 ActiveX 컨트롤을 선택하거나, Office 마켓플레이스에서 다른 사용자 지정 컨트롤을 찾을 수 있습니다. 컨트롤을 선택한 후에는 다음 항목을 지정할 수 있습니다.

  • 양식 서식 파일에서 ActiveX 컨트롤을 설치할 CAB를 지정합니다.

  • XML에 바인딩하기 위한 바인딩 속성을 지정합니다.

  • 규칙 또는 디지털 서명에 응답하여 컨트롤을 사용 또는 사용하지 않도록 설정하는 데 사용할 속성을 지정합니다. 이러한 속성은 XML이 없거나 조건부 서식이 사용되는 등의 경우에 유용할 수 있습니다.

  • 데이터 형식 바인딩을 지정합니다.

참고 사항참고 사항

ActiveX 컨트롤을 개발 중이며 해당 컨트롤을 InfoPath의 컨트롤 작업창에 추가한 경우 InfoPath를 닫기 전까지 해당 ActiveX 컨트롤을 다시 빌드할 수 없습니다.

ActiveX 컨트롤 배포

ActiveX 컨트롤을 배포하려면 해당 컨트롤을 대상 컴퓨터에 설치하고 ICT(InfoPath 컨트롤 서식 파일) 파일 및 CAB 파일을 사용자 폴더(\Users\<사용자 이름>\AppData\Local\Microsoft\InfoPath\Controls)로 복사하는 설치 관리자를 작성할 수 있습니다. 두 명 이상의 개발자가 ActiveX 컨트롤을 사용하는 양식을 공동으로 개발하는 경우 각 개발자에게 InfoPath 디자인 환경에 추가된 컨트롤이 있어야 합니다. 그렇지 않으면 개발자가 InfoPath에서 컨트롤의 속성을 수정할 수 없습니다.

참고 항목

기타 리소스

Lab 6: InfoPath 2003에서 ActiveX 컨트롤 추가

C# 및 .NET을 사용하여 InfoPath 사용자 지정 컨트롤 만들기(InfoPath 팀 블로그)(영문일 수 있음)