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: |
---|---|
Entweder vsHTMLViewDesign oder vsHTMLViewSource, je nachdem, welcher Teil aktiv ist. |
Set
Aktueller Bereich (Registerkarte) |
Einstellung |
---|---|
|
|
|
|
|
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.");
}