TextPoint 介面
代表文字文件中的文字位置。
命名空間: EnvDTE
組件: EnvDTE (在 EnvDTE.dll 中)
語法
'宣告
<GuidAttribute("7F59E94E-4939-40D2-9F7F-B7651C25905D")> _
Public Interface TextPoint
[GuidAttribute("7F59E94E-4939-40D2-9F7F-B7651C25905D")]
public interface TextPoint
[GuidAttribute(L"7F59E94E-4939-40D2-9F7F-B7651C25905D")]
public interface class TextPoint
[<GuidAttribute("7F59E94E-4939-40D2-9F7F-B7651C25905D")>]
type TextPoint = interface end
public interface TextPoint
TextPoint 型別會公開下列成員。
屬性
名稱 | 說明 | |
---|---|---|
AbsoluteCharOffset | 取得從文件開頭到 TextPoint 物件的字元位移 (Offset),以 1 起始。 | |
AtEndOfDocument | 取得是否物件在文件的結尾。 | |
AtEndOfLine | 取得是否物件位於行的結尾。 | |
AtStartOfDocument | 取得是否物件在文件的開頭。 | |
AtStartOfLine | 取得是否物件在行的開頭。 | |
CodeElement | 傳回在 TextPoint 位置的程式碼項目。 | |
DisplayColumn | 取得包含 TextPoint 物件的目前顯示資料行數目。 | |
DTE | 取得最上層擴充性物件。 | |
Line | 取得物件的行號。 | |
LineCharOffset | 取得物件的字元位移。 | |
LineLength | 傳回一個包含物件的行之字元數,不包含換行字元。 | |
Parent | 取得 TextPoint 物件的直接上層父物件。 |
回頁首
方法
名稱 | 說明 | |
---|---|---|
CreateEditPoint | 在進行呼叫之物件的所在位置建立並傳回 EditPoint 物件。 | |
EqualTo | 傳回是否指定點物件的 AbsoluteCharOffset 屬性值與呼叫 TextPoint 物件的屬性值相同。 | |
GreaterThan | 指示是否呼叫物件的 AbsoluteCharOffset 屬性值大於指定點物件的屬性值。 | |
LessThan | 指示是否呼叫物件的 AbsoluteCharOffset 屬性值小於指定物件的屬性值。 | |
TryToShow | 嘗試顯示文字點的位置。 |
回頁首
備註
TextPoint 物件可讓您在文件中尋找位置。 您可以使用 TextPoint 物件的屬性以下列項目尋找文字:
行號
一行中的字元數
從文件開頭起算的絕對字元位置
顯示資料行
TextPoint 物件與 EditPoint 物件相似,不過,前者適用於以程式碼編輯器顯示的文字,後者則適用於文字緩衝區內的資料。 文件裡的文字會受全域編輯器狀態 (例如自動換行和虛擬空間) 影響,文字緩衝區則不受影響。
當您編輯文件時,TextPoint 物件不會隨周圍的文字移動。 也就是說,如果在文字位置之前插入文字,文字位置的 AbsoluteCharOffset 屬性值會遞增,以反應文字位置下移後在文件中的新位置。 如果多個 TextPoint 物件位於相同的位置,而且使用一個 EditPoint 物件插入新文字,則新字元會位於所有 TextPoint 物件 (插入文字所使用的那一個物件除外) 的右邊。
如果 TextDocument 是唯讀物件,任何嘗試修改 TextDocument 的作業都會失敗。
範例
Sub TextPointExample()
' Comments a region of code.
Dim selection As TextSelection
selection = dte.ActiveDocument.selection()
Dim Start As Editpoint
Start = selection.TopPoint.CreateEditPoint()
Dim endpt As TextPoint
endpt = selection.BottomPoint
Dim undoObj As UndoContext = dte.UndoContext
undoobj.Open("Comment Region")
Do While (Start.LessThan(endpt))
Start.Insert("//")
Start.LineDown()
Start.StartOfLine()
Loop
undoobj.Close()
End Sub