방법: InfoPath 2003 개체 모델을 사용하여 양식 창 작업
프로그래밍 방식으로 InfoPath 양식을 사용하는 경우 양식의 창에 액세스한 다음 포함된 항목 일부를 사용자 지정하는 코드를 작성할 수 있습니다. InfoPath 2003 호환 개체 모델에서는 WindowObject 인터페이스를 WindowsCollection 인터페이스와 함께 사용하여 양식의 창에 액세스할 수 있습니다.
InfoPath에는 다음 두 가지 유형의 창이 있습니다.
사용자가 양식에 데이터를 입력할 때 사용되는 편집 창
사용자가 양식 서식 파일을 디자인할 때 사용되는 디자인 창
양식 서식 파일의 코드를 작성할 때 가장 유용한 기능을 제공하는 것은 편집 창입니다. 이는 편집 창을 참조하는 WindowObject 인스턴스를 사용하여 양식 편집 경험을 사용자 지정하는 데 사용할 수 있는 다양한 속성과 메서드에 액세스하기 때문입니다.
WindowsCollection 인터페이스 개요
WindowsCollection 인터페이스는 양식 서식 파일 개발자가 양식 서식 파일에 포함된 WindowObject 인터페이스를 관리하는 데 사용할 수 있는 다음 속성을 제공합니다.
이름 | 설명 |
---|---|
Count 속성 |
컬렉션에 포함된 Window 개체의 수를 반환합니다. |
Item 속성 |
지정한 Window 개체에 대한 참조를 반환합니다.
참고:
Visual C#는 Item 속성을 호출하지 않고 인덱서를 사용하여 컬렉션에 액세스합니다. 예를 들면
thisApplication.Windows[0].Caption 과 같습니다.
|
Window 개체 개요
WindowObject 인터페이스는 양식 개발자가 InfoPath 창과 상호 작용하는 데 사용할 수 있는 다음 메서드와 속성을 제공합니다. 이러한 메서드와 속성 지원은 사용 중인 창 유형(XdWindowType)에 따라 달라집니다. 일부 메서드와 속성은 편집기 창 유형(XdWindowType.xdEditorWindow)에서만 작동합니다. 나머지 메서드와 속성은 편집기 창 유형과 디자이너 창 유형(XdWindowType.xdDesignerWindow) 모두에서 작동합니다. 또한 모든 InfoPath 개체 모델 구성원과 마찬가지로 양식 서식 파일에서 호출할 때 메서드 및 속성 지원은 보안 수준과 양식 배포 방법에 따라 달라질 수 있습니다.
이름 | 설명 | 창 유형 지원 |
---|---|---|
Activate 메서드 |
이 창을 현재 활성 창으로 지정합니다. |
xdDesignWindow 및 xdEditorWindow 유형 모두 |
Active 속성 |
이 창이 현재 활성 창인지 여부를 나타내는 Boolean 값을 반환합니다. |
xdDesignWindow 및 xdEditorWindow 유형 모두 |
Caption 속성 |
Window 개체로 나타내는 창의 캡션 텍스트를 반환하거나 설정하는 읽기/쓰기 속성입니다. |
xdEditorWindow 유형만 |
Close 메서드 |
창을 닫습니다. |
xdEditorWindow 유형만 |
CommandBars 속성 |
Microsoft Office CommandBars 개체에 대한 참조를 반환합니다. |
xdDesignWindow 및 xdEditorWindow 유형 모두 |
Height 속성 |
Window 개체가 표시하는 창의 높이를 포인트 단위로 측정하여 지정하는 정수(Long) 형식의 읽기/쓰기 속성입니다. |
xdDesignWindow 및 xdEditorWindow 유형 모두 |
Left 속성 |
Window 개체가 표시하는 창의 가로 위치를 포인트 단위로 측정하여 지정하는 정수(Long) 형식의 읽기/쓰기 속성입니다. |
xdDesignWindow 및 xdEditorWindow 유형 모두 |
MailEnvelope 속성 |
MailEnvelopeObject 개체에 대한 참조를 반환합니다. |
xdEditorWindow 유형만 |
TaskPanes 속성 |
TaskPanesCollection 컬렉션에 대한 참조를 반환합니다. |
xdDesignWindow 및 xdEditorWindow 유형 모두 |
Top 속성 |
Window 개체가 표시하는 창의 세로 위치를 포인트 단위로 측정하여 지정하는 정수(Long) 형식의 읽기/쓰기 속성입니다. |
xdDesignWindow 및 xdEditorWindow 유형 모두 |
WindowType 속성 |
XdWindowType 열거에 따라 창의 유형을 나타내는 숫자를 반환합니다. |
xdDesignWindow 및 xdEditorWindow 유형 모두 |
Width 속성 |
Window 개체가 표시하는 창의 너비를 포인트 단위로 측정하여 지정하는 정수(Long) 형식의 읽기/쓰기 속성입니다. |
xdDesignWindow 및 xdEditorWindow 유형 모두 |
WindowState 속성 |
Window 개체가 나타내는 창의 상태를 반환하거나 설정하는 XdWindowState 형식의 읽기/쓰기 속성입니다. |
xdDesignWindow 및 xdEditorWindow 유형 모두 |
XDocument 속성 |
창에 연결된 _XDocument 개체에 대한 참조를 반환합니다. |
xdEditorWindow 유형만 |
WindowsCollection 및 Window 인터페이스 사용
WindowsCollection 인터페이스는 Application 인터페이스의 Windows 속성을 통해 액세스할 수 있습니다. WindowsCollection 인터페이스를 사용하여 양식의 창에 액세스하는 경우 인덱서를 사용하거나(Visual C#의 경우) Item 속성에 정수(Long)를 전달하여(Visual Basic의 경우) WindowObject 인터페이스 인스턴스에 대한 참조를 반환합니다. 예를 들어 다음 코드는 WindowsCollection에 포함된 첫 번째 WindowObject에 대한 참조를 설정합니다.
WindowObject objWindow = thisApplication.Windows[0];
Dim objWindow As WindowObject = thisApplication.Windows(0)
그러나 다음 코드와 같이 WindowsCollection을 거치지 않고도 Application 인터페이스의 ActiveWindow 속성을 사용하여 현재 열려 있는 창에 직접 액세스할 수 있습니다.
WindowObject objWindow = thisApplication.ActiveWindow;
Dim objWindow As WindowObject = thisApplication.ActiveWindow
참고: |
---|
InfoPath 관리 코드 프로젝트를 디버깅하는 경우 디버깅 창이 활성화되어 있으므로 ActiveWindow 속성이 항상 null을 반환합니다. |
양식의 원본으로 사용하는 XML 문서에 연결된 View 인터페이스의 Window 속성을 사용하여 WindowObject에 액세스할 수도 있습니다. XDocument 인터페이스의 View 속성은 View 개체에 액세스하는 데 사용됩니다. 예를 들어 다음 코드에서는 양식의 원본으로 사용하는 XML 문서의 보기에 연결된 WindowObject에 대한 참조를 설정합니다.
WindowObject objWindow = thisXDocument.View.Window;
Dim objWindow As WindowObject = thisXDocument.View.Window
참고: |
---|
Window 개체의 몇몇 속성과 메서드는 편집 창 유형 전용입니다. 디자인 창 유형에 사용할 경우 오류가 반환됩니다. 각 창 유형에 대해 지원되는 속성과 메서드는 이 항목 앞부분의 표에 나와 있습니다. 사용 중인 창 유형은 코드에서 WindowType 속성을 사용하여 확인할 수 있습니다. |