HTMLWindow3-Schnittstelle

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

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

Syntax

'Declaration
<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

Der HTMLWindow3-Typ macht die folgenden Member verfügbar.

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft CurrentPane Ruft den aktuellen Fenstertyp des HTML-Editors ab oder legt ihn fest.
Öffentliche Eigenschaft CurrentView Ruft ab oder legt fest, ob das Fenster des HTML-Editors in der Quell-, Entwurfs- oder geteilten Ansicht angezeigt wird.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode WaitForBackgroundProcessingComplete Hält die Programmausführung an, bis die Hintergrundverarbeitung abgeschlossen ist.

Zum Seitenanfang

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 gibt ein TextSelection-Objekt zurück, wenn die CurrentTab-Eigenschaft auf vsHTMLTabsSource festgelegt ist.

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 Quellansicht 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

EnvDTE90-Namespace