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