다음을 통해 공유


HtmlTaskPane.HtmlDocument 속성

사용자 지정 작업창의 HTML 문서 개체 모델로 작업하는 데 필요한 MSHTML IHTMLDocument2 인터페이스에 대한 참조를 가져옵니다.

네임스페이스:  Microsoft.Office.InfoPath
어셈블리:  Microsoft.Office.InfoPath(Microsoft.Office.InfoPath.dll)

구문

‘선언
Public MustOverride ReadOnly Property HtmlDocument As Object
    Get
‘사용 방법
Dim instance As HtmlTaskPane
Dim value As Object

value = instance.HtmlDocument
public abstract Object HtmlDocument { get; }

속성 값

형식: System.Object
사용자 지정 작업창의 HTML 파일과 연결된 IHTMLDocument2 개체입니다.

주의

아래의 두 번째 예제와 같이 HtmlDocument 속성을 사용하면 후기 바인딩을 통해 작업창의 HTML 코드에 포함된 스크립팅 함수를 호출할 수 있습니다. 또한 IHTMLDocument2 인터페이스에서 제공하는 속성과 메서드를 사용하여 작업창의 HTML 코드를 직접 조작할 수도 있습니다.

HtmlDocument 속성에서 반환하는 IHTMLDocument2 개체를 사용하여 작업하려면 Microsoft Visual Studio Tools for Applications를 실행한 후 참조 추가 대화 상자의 .NET 탭에서 Microsoft.mshtml에 대한 참조를 추가해야 합니다. 또한 HtmlDocument 속성에서 반환하는 개체를 IHTMLDocument2 형식으로 캐스팅해야 합니다.

이 멤버는 현재 열려 있는 양식과 같은 도메인에서 실행하는 양식 또는 도메인 간 권한이 부여된 양식에서만 액세스할 수 있습니다.

이 형식 또는 멤버는 Microsoft InfoPath Filer에서 연 양식에서 실행되는 코드에서만 액세스할 수 있습니다.

다음 예제에서는 양식 코드 파일의 선언 섹션에서 using mshtml; 또는 Imports mshtml 지시문을 사용한다고 가정합니다.

다음 예제에서는 HtmlTaskPane 클래스의 HtmlDocument 속성을 사용하여 완전히 신뢰할 수 있는 양식에 있는 사용자 지정 작업창의 HTML window 개체에 대한 참조를 설정한 후, 사용자 지정 작업창의 배경색을 변경합니다.

// Get a reference to the custom task pane. It is always index [0]
// in the TaskPanes collection.
HtmlTaskPane custom = (Microsoft.Office.InfoPath.HtmlTaskPane)
   (this.CurrentView.Window.TaskPanes[0]);

// Get a reference to the custom task pane document and cast to
// the IHTMLDocument2 type.
IHTMLDocument2 oHTMLdoc = (IHTMLDocument2)(custom.HtmlDocument);

// Change custom task pane background color to red.
oHTMLdoc.bgColor = "red";
' Get a reference to the custom task pane. It is always index [0]
' in the TaskPanes collection.
Dim custom As HtmlTaskPane = DirectCast( _
   Me.CurrentView.Window.TaskPanes(0), _
   Microsoft.Office.InfoPath.HtmlTaskPane)

' Get a reference to the custom task pane document and cast to
' the IHTMLDocument2 type.
IHTMLDocument2 oHTMLdoc = _
   DirectCast(custom.HtmlDocument,IHTMLDocument2)

' Change custom task pane background color to red.
oHTMLdoc.bgColor = "red"

다음 예제에서는 HtmlTaskPane 클래스의 HtmlDocument 속성을 사용하여 완전히 신뢰할 수 있는 양식에 있는 사용자 지정 작업창의 HTML window 개체에 대한 참조를 설정한 후, 사용자 지정 작업창의 HTML 코드에 정의된 TaskPaneSwitchView 사용자 지정 함수를 호출합니다.

   // Get a reference to the custom task pane. It is always index [0]
   // in the TaskPanes collection.
   HtmlTaskPane custom = (Microsoft.Office.InfoPath.HtmlTaskPane)
      this.CurrentView.Window.TaskPanes[0];

   // Get a reference to the custom task pane document.
   IHTMLDocument2 oHTMLdoc = (IHTMLDocument2)custom.HtmlDocument;

   // Get a reference to the parent window of the task pane.
   IHTMLWindow2 window = (IHTMLWindow2)oHTMLdoc.parentWindow;

   // Call into script through CLR late binding mechanism.
   window.GetType().InvokeMember(
      "TaskPaneSwitchView",      // late bound method name.
      System.Reflection.BindingFlags.InvokeMethod | // binding flags
      System.Reflection.BindingFlags.DeclaredOnly |
      System.Reflection.BindingFlags.Public |
      System.Reflection.BindingFlags.Instance,
      null,     // binder object
      window,   // target object
      null);   // method arguments
   ' Get a reference to the custom task pane. It is always index (0)
   ' in the TaskPanes collection.
   Dim custom As HtmlTaskPane = _
      DirectCast(Me.CurrentView.Window.TaskPanes(0), _
      Microsoft.Office.InfoPath.HtmlTaskPane)

   ' Get a reference to the custom task pane document.
   Dim oHTMLdoc As IHTMLDocument2 = DirectCast(
      custom.HtmlDocument, IHTMLDocument2)

     ' Get a reference to the parent window of the task pane.
      Dim window As IHTMLWindow2 = DirectCast(oHTMLdoc.parentWindow, _
         IHTMLWindow2

     ' Call into script through CLR late binding mechanism.
     window.GetType().InvokeMember( _
      "TaskPaneSwitchView", _
      System.Reflection.BindingFlags.InvokeMethod Or _
      System.Reflection.BindingFlags.DeclaredOnly Or _
      System.Reflection.BindingFlags.Public Or _
      System.Reflection.BindingFlags.Instance, _
      Nothing, _
      window, _
      Nothing)

참고 항목

참조

HtmlTaskPane 클래스

HtmlTaskPane 멤버

Microsoft.Office.InfoPath 네임스페이스