Freigeben über


HTMLWindow3-Schnittstelle

Aktualisiert: November 2007

Stellt ein HTML-Dokumentfenster in der integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) von Visual Studio dar.

Namespace:  EnvDTE90
Assembly:  EnvDTE90 (in EnvDTE90.dll)

Syntax

<GuidAttribute("BAD0A3DD-8109-4684-B806-A5282267BFE4")> _
Public Interface HTMLWindow3

Dim instance As HTMLWindow3
[GuidAttribute("BAD0A3DD-8109-4684-B806-A5282267BFE4")]
public interface HTMLWindow3
[GuidAttribute(L"BAD0A3DD-8109-4684-B806-A5282267BFE4")]
public interface class HTMLWindow3
public interface HTMLWindow3

Hinweise

Wenn es sich bei dem Dokument um ein HTML-Dokument handelt, wird HTMLWindow3 von der Object-Eigenschaft des Window-Objekts zurückgegeben. Window.Selection und Document.Selection geben ein TextSelection-Objekt zurück, wenn die CurrentTab-Eigenschaft auf vsHTMLTabsSource festgelegt wird.

Mit der Einführung der geteilten Ansicht im HTML-Editor von Visual Studio 2008 wurden HTMLWindow3, vsHTMLPanes und vsHTMLViews hinzugefügt. In der geteilten Ansicht werden die Registerkarte und die Ansichtselemente im Fenster des HTML-Editors getrennt dargestellt. Wenn Sie zwischen Ansichten wechseln (entweder in die Entwurfs- oder Quellansicht), bedeutet dies nicht unbedingt, dass auch die Registerkarte gewechselt wird (Entwurf/Teilen/Quelle). Wenn Sie z. B. auf die Registerkarte Teilen klicken und dann von der Entwurfs- in die Quellcodeansicht wechseln, wird die Registerkarte nicht geändert, sondern lediglich die Entwurfs- und Quellcodebereiche in der geteilten Ansicht aktiviert bzw. deaktiviert.

Das Visual Studio 2008HTMLWindow-Objekt implementiert jetzt auch die HTMLWindow3-Schnittstelle, die die aktuelle Ansicht (Entwurfs- oder Quellansicht) und den aktuellen Bereich (Registerkarte Entwurf, Quelle oder Teilen) zurückgibt.

HTMLWindow3-Regeln

Das Verhalten von HTMLWindow3 ist wie folgt:

Get

Aktueller Bereich (Registerkarte)

Die aktuelle Ansicht gibt Folgendes zurück:

vsHTMLPaneDesign

vsHTMLViewDesign

vsHTMLPaneSource

vsHTMLViewSource

vsHTMLPaneSplit

Entweder vsHTMLViewDesign oder vsHTMLViewSource, je nachdem, welcher Teil aktiv ist.

Set

Aktueller Bereich (Registerkarte)

Einstellung

vsHTMLPaneDesign

  • Indem Sie die Ansicht auf vsHTMLViewSource oder den Bereich auf vsHTMLPaneSource festlegen, wechselt der HTML-Editor in die Quellansicht und den Quellcodebereich.

  • Indem Sie den Bereich auf vsHTMLPaneSplit festlegen, wechselt der HTML-Editor bei aktivem Entwurfsbereich in den Teilbereich.

vsHTMLPaneSource

  • Indem Sie die Ansicht auf vsHTMLViewDesign oder den Bereich auf vsHTMLPaneDesign festlegen, wechselt der HTML-Editor in die Entwurfsansicht und den Entwurfsbereich.

  • Indem Sie den Bereich auf vsHTMLPaneSplit festlegen, wechselt der HTML-Editor in den Teilbereich bei aktivem Quellcodebereich.

vsHTMLPaneSplit

  • Indem Sie die Ansicht auf vsHTMLViewDesign festlegen, wechselt der Editor in den Entwurfsbereich des Teilbereichs. Der Bereich wird NICHT in die Entwurfsansicht geändert.

  • Indem Sie die Ansicht auf vsHTMLViewSource festlegen, wechselt der Editor in den Quellcodebereich des Teilbereichs. Der Bereich wird nicht in den Quellcodebereich geändert.

  • Indem Sie den Bereich auf vsHTMLPaneDesign festlegen, wechselt der Editor in die Entwurfsansicht und den Entwurfsbereich.

  • Indem Sie den Bereich auf vsHTMLPaneSource festlegen, wechselt der Editor in die Quellansicht und den Quellcodebereich.

Beispiele

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.");
}

Siehe auch

Referenz

HTMLWindow3-Member

EnvDTE90-Namespace