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