Condividi tramite


Interfaccia HTMLWindow3

Rappresenta una finestra di documento HTML nell’ambiente di sviluppo integrato (IDE) di Visual Studio.

Spazio dei nomi:  EnvDTE90
Assembly:  EnvDTE90 (in EnvDTE90.dll)

Sintassi

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

Il tipo HTMLWindow3 espone i seguenti membri.

Proprietà

  Nome Descrizione
Proprietà pubblica CurrentPane Ottiene o imposta il tipo di finestra dell'editor HTML corrente.
Proprietà pubblica CurrentView Ottiene o imposta la modalità di visualizzazione della finestra dell'editor HTML: Origine, Progettazione o Dividi.

In alto

Metodi

  Nome Descrizione
Metodo pubblico WaitForBackgroundProcessingComplete Sospende l’esecuzione del programma fino al completamento dell’elaborazione in background.

In alto

Note

HTMLWindow3 viene restituito dalla proprietà Object dell'oggetto Window quando il documento è un documento HTML. Window.Selection e Document.Selection restituiscono un oggetto TextSelection quando la proprietà CurrentTab è impostata su vsHTMLTabsSource.

Con l'introduzione di Visualizzazione suddivisa nell'editor HTML di Visual Studio 2008, sono stati aggiunti HTMLWindow3, vsHTMLPanes e vsHTMLViews. La doppia visualizzazione separa gli elementi scheda e visualizzazione della finestra dell'editor HTML. Il passaggio alla visualizzazione (Progettazione o Origine) non indica necessariamente il cambio di scheda (Progettazione/Suddivisione/Origine). Se ad esempio si fa clic sulla scheda Dividi, il passaggio tra Progettazione e Origine non comporta il cambiamento di scheda, bensì attiva o disattiva le parti di Progettazione e Origine nella Visualizzazione suddivisa.

L'oggetto HTMLWindow di Visual Studio 2008 implementa ora anche l'interfaccia HTMLWindow3 che restituisce la visualizzazione (Origine o Progettazione) e il riquadro (scheda Progettazione, Origine o Dividi) correnti.

Regole di HTMLWindow3

HTMLWindow3 si comporta nel modo seguente:

Get

Riquadro corrente (scheda)

La visualizzazione corrente restituisce

vsHTMLPaneDesign

vsHTMLViewDesign

vsHTMLPaneSource

vsHTMLViewSource

vsHTMLPaneSplit

vsHTMLViewDesign o vsHTMLViewSource, in base alla scheda attiva.

Set

Riquadro corrente (scheda)

Impostazione

vsHTMLPaneDesign

  • Se si imposta la visualizzazione su vsHTMLViewSource o il riquadro su vsHTMLPaneSource, l’editor HTML passerà alla visualizzazione o al riquadro Origine rispettivamente.

  • Se si imposta il riquadro su vsHTMLPaneSplit, l’editor HTML passerà al riquadro Dividi con la scheda Progettazione attiva.

vsHTMLPaneSource

  • Se si imposta la visualizzazione su vsHTMLViewDesign o il riquadro su vsHTMLPaneDesign, l’editor HTML passerà alla visualizzazione o al riquadro Progettazione rispettivamente.

  • Se si imposta il riquadro su vsHTMLPaneSplit, l’editor HTML passerà al riquadro Dividi con la scheda Progettazione attiva.

vsHTMLPaneSplit

  • Se si imposta la visualizzazione su vsHTMLViewDesign, l’editor passerà alla parte Progettazione del riquadro di divisione. Il riquadro NON comporta la modifica della visualizzazione Progettazione.

  • Se si imposta la visualizzazione su vsHTMLViewSource, l’editor passerà alla visualizzazione Origine del riquadro Dividi. Il riquadro non comporta la modifica del riquadro Origine.

  • Se si imposta il riquadro su vsHTMLPaneDesign, l’editor passerà alla visualizzazione e al riquadro Progettazione.

  • Se si imposta il riquadro su vsHTMLPaneSource, l’editor passerà alla visualizzazione e al riquadro Origine.

Esempi

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

Vedere anche

Riferimenti

Spazio dei nomi EnvDTE90