Поделиться через


HTMLWindow3 - интерфейс

Представляет окно HTML-документа в интегрированной среде разработки (IDE) Visual Studio.

Пространство имен:  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 Останавливает выполнение программы до завершения фоновой обработки.

В начало страницы

Заметки

Объект HTMLWindow3 возвращается свойством Object объекта Window, если документ является HTML-документом.Window.Selection и Document.Selection возвращают объект TextSelection, если свойство CurrentTab имеет значение vsHTMLTabsSource.

Типы HTMLWindow3, vsHTMLPanes и vsHTMLViews были добавлены с введением представления с разделением в HTML-редактор Visual Studio 2008.При использовании разделенного представления вкладки и представления окна редактора HTML отделяются друг от друга.Переключение режима (в режим конструктора или исходного кода) не обязательно означает переключение вкладки (“Конструктор/Разделение/Исходный код”).Например, если щелкнуть вкладку “Разделение”, то переключение между представлением конструктора и представлением исходного кода не изменяет вкладку, а только активирует или деактивирует панель конструктора или исходного кода в представлении с разделением.

Объект HTMLWindow в Visual Studio 2008 теперь также реализует интерфейс HTMLWindow3, возвращающий текущее представление (конструктор или исходный код) и текущую панель (вкладку "Конструктор", "Исходный код" или "Разделенное").

Правила HTMLWindow3

Интерфейс HTMLWindow3 ведет себя следующим образом:

Bb545981.collapse_all(ru-ru,VS.110).gifGet

Текущая панель (вкладка)

Текущее представление возвращает

vsHTMLPaneDesign

vsHTMLViewDesign

vsHTMLPaneSource

vsHTMLViewSource

vsHTMLPaneSplit

Значение vsHTMLViewDesign или vsHTMLViewSource, в зависимости от того, какая часть активна.

Bb545981.collapse_all(ru-ru,VS.110).gifSet

Текущая панель (вкладка)

Параметр

vsHTMLPaneDesign

  • Задание значения vsHTMLViewSource для представления или значения vsHTMLPaneSource для панели переключает редактор HTML в режим представления исходного кода и панели исходного кода.

  • Задание значения vsHTMLPaneSplit для панели переключает редактор HTML на панель разделения c активным конструктором.

vsHTMLPaneSource

  • Задание значения vsHTMLViewDesign для представления или значения vsHTMLPaneDesign для панели переключает редактор HTML в режим представления конструктора и панели конструктора.

  • Задание значения vsHTMLPaneSplit для панели переключает редактор HTML на панель разделения с активным исходным кодом.

vsHTMLPaneSplit

  • Задание значения vsHTMLViewDesign для представления переключает редактор HTML на конструктор в панели разделения.Панель НЕ меняется на представление конструктора.

  • Задание значения vsHTMLViewSource для представления переключает редактор HTML на исходный код в панели разделения.Панель НЕ меняется на панель исходного кода.

  • Задание значения vsHTMLPaneDesign для панели переключает редактор в режим представления конструктора и панели конструктора.

  • Задание значения vsHTMLPaneSource для панели переключает редактор в режим представления исходного кода и панели исходного кода.

Примеры

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 - пространство имен