1

저는 VS2012 용 편집기 확장 프로그램을 만들고 있는데 편집기에서 모든 문자의 논리적 픽셀 너비를 찾아야합니다.Visual Studio 편집기에서 모든 문자의 논리적 픽셀 너비를 얻으시겠습니까?

모든 문자가 같은 너비를 공유하지만 편집자의 확대/축소 크기가 변경되면 공유 너비가 변경된다고 생각합니다. 확대/축소가 100 % 일 때 모든 문자는 7 논리적 픽셀 폭이고, 그렇지 않으면 모두 7.33 논리적 픽셀 폭입니다.

내가 작성하여 모든 문자의 폭을 찾을 수 있습니다
// textview is an ITextView
textview.Caret.ContainingTextViewLine.TextWidth /
textview.Caret.ContainingTextViewLine.Length

그러나, 문제는 캐럿이에 라인이 비어있을 때, 즉 0으로 나눗셈을 할 것이기 때문이다.

+0

폭을 원할 때 공간을 시뮬레이트하고, 너비를 가져오고, 공간 삭제를 시뮬레이트 할 수 없습니까? – SimpleVar

+0

예, 할 수 있지만 해킹처럼 보입니다. 내 마지막 수단이야. – daniel1426

+0

textwidth 함수를 사용하십시오 .. – matzone

답변

1

내 질문에 대한 답을 찾을 수 없습니다,하지만 난 내 문제에 대한 해결책을 발견

VirtualSnapshotPoint Get_point(ITextCaret caret) 
    { 
    caret.ContainingTextViewLine.GetInsertionBufferPositionFromXCoordinate(...); 
    } 

그 방법은 불필요한 내가 모든 문자의 논리적 픽셀 너비로 작업 할 수있었습니다.

관련 문제