1
非常自我解釋,但我試圖找出離開插入點多遠。 目前,我有以下行Visual Studio 2010 SDK,Get Caret Column
var caret = m_doc.Caret.Position.BufferPosition;
return doc.GetTextViewLineContainingBufferPosition(caret).Start.Difference(caret);
其中DOC是IWpfTextView。
問題是,如果您有一個標籤,它會將標籤統計爲一個標籤,而不是多少個空間組成該標籤。
示例 - |代表光標所在,\ t大小爲4片,charNo是我目前的代碼返回,山坳就是我想:
|var a //col:0 charNo:0
\t|var //col:4 charNo:1
\t|var //col:4 charNo:2
\tv|ar //col:5 charNo:3
感謝。
Left返回一個double,我認爲它是左邊的像素數。準確地說是 – 2011-04-03 23:37:22
。 msdn說:文本渲染座標系中的距離對應於邏輯像素。如果在沒有任何縮放變換的情況下顯示文本渲染表面,則文本渲染座標系中的1個單位對應於顯示器上的一個像素。 http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.text.formatting.iwpftextviewline.aspx – phillip 2011-04-04 03:28:43
但我沒有在像素位置之後,我在列之後,正如我的示例所示,我是在你之後有多少個字符,但將一個製表符視爲它所代表的空格的數量。 – 2011-04-04 04:42:38