HTMLWindow3 インターフェイス

Visual Studio 統合開発環境 (IDE: Integrated Development Environment) の HTML ドキュメント ウィンドウを表します。

名前空間:  EnvDTE90
アセンブリ:  EnvDTE90 (EnvDTE90.dll 内)

構文

'宣言
<GuidAttribute("BAD0A3DD-8109-4684-B806-A5282267BFE4")> _
Public Interface HTMLWindow3
[GuidAttribute("BAD0A3DD-8109-4684-B806-A5282267BFE4")]
public interface HTMLWindow3
[GuidAttribute(L"BAD0A3DD-8109-4684-B806-A5282267BFE4")]
public interface class HTMLWindow3
[<GuidAttribute("BAD0A3DD-8109-4684-B806-A5282267BFE4")>]
type HTMLWindow3 =  interface end
public interface HTMLWindow3

HTMLWindow3 型で公開されるメンバーは以下のとおりです。

プロパティ

  名前 説明
パブリック プロパティ CurrentPane 現在の HTML エディター ウィンドウの種類を取得または設定します。
パブリック プロパティ CurrentView HTML エディター ウィンドウがソース ビュー、デザイン ビュー、または分割ビューのいずれにあるかを取得または設定します。

このページのトップへ

メソッド

  名前 説明
パブリック メソッド WaitForBackgroundProcessingComplete バックグラウンドの処理が完了するまで、プログラムの実行を一時停止します。

このページのトップへ

解説

HTML ドキュメントの場合、Window オブジェクトの Object プロパティは HTMLWindow3 を返します。 CurrentTab プロパティが vsHTMLTabsSource に設定されている場合、Window.Selection および Document.Selection は TextSelection オブジェクトを返します。

Visual Studio 2008 HTML エディターに分割ビューが導入されたことに伴い、HTMLWindow3、vsHTMLPanes、および vsHTMLViews が追加されました。 分割ビューでは、HTML エディター ウィンドウのタブ要素とビュー要素が分かれています。 デザイン ビューまたはソース ビューへの切り替えは、必ずしもタブの切り替え (デザイン/分割/ソース) を意味するわけではありません。 たとえば、[分割] タブをクリックしたとき、[デザイン] と [ソース] とのビューの切り替えではタブは変更されません。分割ビューの [デザイン] および [ソース] の部分がアクティブになったり非アクティブになったりするだけです。

Visual Studio 2008 HTMLWindow オブジェクトは、現在のビュー (デザインまたはソースのいずれか) および現在のペイン (デザイン、ソース、分割のいずれかのタブ) を返す HTMLWindow3 インターフェイスも実装しています。

HTMLWindow3 の規則

HTMLWindow3 の動作を次に示します。

Get

現在のペイン (タブ)

現在のビュー

vsHTMLPaneDesign

vsHTMLViewDesign

vsHTMLPaneSource

vsHTMLViewSource

vsHTMLPaneSplit

アクティブな部分に応じて、vsHTMLViewDesign または vsHTMLViewSource のいずれか。

Set

現在のペイン (タブ)

設定値

vsHTMLPaneDesign

  • ビューを vsHTMLViewSource に、またはペインを vsHTMLPaneSource に設定すると、HTML エディターはソース ビューおよびソース ペインに切り替わります。

  • ペインを vsHTMLPaneSplit に設定すると、HTML エディターは分割ペインに切り替わり、[デザイン] 部分がアクティブになります。

vsHTMLPaneSource

  • ビューを vsHTMLViewDesign に、またはペインを vsHTMLPaneDesign に設定すると、HTML エディターはデザイン ビューおよびデザイン ペインに切り替わります。

  • ペインを vsHTMLPaneSplit に設定すると、HTML エディターは分割ペインに切り替わり、[ソース] 部分がアクティブになります。

vsHTMLPaneSplit

  • ビューを vsHTMLViewDesign に設定すると、HTML エディターは分割ペインの [デザイン] 部分に切り替わります。 ペインはデザイン ペインに切り替わりません。

  • ビューを vsHTMLViewSource に設定すると、HTML エディターは分割ペインの [ソース] 部分に切り替わります。 ペインはソース ペインに切り替わりません。

  • ペインを vsHTMLPaneDesign に設定すると、HTML エディターはデザイン ビューおよびデザイン ペインに切り替わります。

  • ペインを vsHTMLPaneSource に設定すると、HTML エディターはソース ビューおよびソース ペインに切り替わります。

Sub HTMLWindow3Example(ByVal dte As EnvDTE80.DTE2)
    ' Open an HTML document before running this sample.
    If TypeOf dte.ActiveDocument.ActiveWindow.Object Is HTMLWindow3 _
        Then
            ' Ask the user for a file to insert into the body of the
            ' HTML document. This file should be an HTML fragment.
            Dim strFile As String = InputBox("Enter the name of a _
              file to insert at the end of the HTML document:")
            ' Get the HTMLWindow3 object and determine which tab is 
            ' currently active.
            Dim objHTMLWin As HTMLWindow3 = _
            CType(dte.ActiveDocument.ActiveWindow.Object, HTMLWindow3)
            Dim Tab As vsHTMLTabs = CType(objHTMLWin.CurrentTab, _
              vsHTMLTabs)
            Dim cpane As vsHTMLPanes = vsHTMLPanes.vsHTMLPaneSplit

            ' Switch to the "split" view, source view.
            objHTMLWin.CurrentPane = vsHTMLPanes.vsHTMLPaneSplit
            objHTMLWin.CurrentView = vsHTMLViews.vsHTMLViewSource

            ' Get an EditPoint at the start of the text.
            Dim objTextWin As TextWindow = _
              CType(objHTMLWin.CurrentTabObject, TextWindow)
            Dim objEP As EditPoint = _
            objTextWin.ActivePane.StartPoint.CreateEditPoint

            ' Look for the end of the document body.
            If objEP.FindPattern("</body>") Then
                ' Insert the contents of the file.
                objEP.InsertFromFile(strFile)
            End If

            ' Switch back to the original view of the HTML file.
            'objHTMLWin.CurrentTab = Tab
        Else
            MsgBox("You must open an HTML document.")
        End If
    End Sub
public void HTMLWindowExample(_DTE dte)
{
    // Open an HTML document before running this sample.
    if (dte.ActiveDocument.ActiveWindow.Object is HTMLWindow3)
    {
        HTMLWindow3 objHTMLWin;
        vsHTMLTabs Tab;
        String strFileName;
        // Ask the user for a file to insert into the body of the HTML 
        // document. This file should be an HTML fragment.
        strFileName = Microsoft.VisualBasic.Interaction.InputBox 
        ("Enter the name of a file to insert at the end of the HTML 
        document:","","",100,100);
        // Get the HTMLWindow3 object and determine which tab is 
        // currently active.
        objHTMLWin = dte.ActiveDocument.ActiveWindow.Object as 
        HTMLWindow3;
        Tab = objHTMLWin.CurrentTab;

        // Switch to the "source" tab.
        objHTMLWin.CurrentPane = vsHTMLPanes.vsHTMLPaneSplit;
        objHTMLWin.CurrentTab = vsHTMLViews.vsHTMLViewSource;

        // Get an EditPoint at the start of the text.
        TextWindow objTextWin;
        EditPoint ep;
        EditPoint ep2 = null;
        TextRanges textRanges = null;
        objTextWin = objHTMLWin.CurrentTabObject as TextWindow;
        ep = objTextWin.ActivePane.StartPoint.CreateEditPoint();
        textRanges = objTextWin.Selection.TextRanges;

        // Look for the end of the document body.
        if (ep.FindPattern 
        ("</body>",(int)vsFindOptions.vsFindOptionsNone, ref ep2, ref 
        textRanges))
            // Insert the contents of the file.
            ep.InsertFromFile (strFileName);
            // Switch back to the original view of the HTML file.
            objHTMLWin.CurrentTab = Tab;
    }
    else
        MessageBox.Show ("You must open an HTML document.");
}

参照

関連項目

EnvDTE90 名前空間