2009-06-02 3 views
0

사용자 정의 모양의 상자 (예 : 원) 안에 텍스트를 표시하고 편집하는 방법을 찾고 있습니다. 텍스트는 허용 된 공간을 최대한 많이 사용해야하므로 모양 안에 편집 상자를 배치하면됩니다. 충분하지.사용자 정의 모양의 텍스트 상자/.net에서 컨트롤을 편집 하시겠습니까?

요구 사항 :

  1. GraphicsPath와 문자열을 감안할 때

    이 경로 내의 텍스트를 그립니다. 텍스트가 오버플로되면 이벤트를 잘라내거나 올립니다.
  2. 사용자가 GraphicsPath 내에서 텍스트를 편집 할 수 있습니다.
  3. 단어 분리, 단어 줄 바꿈, 현지화 관련 표준 텍스트 상자의 모든 지능.

이러한 요구 사항에 맞는 컨트롤이없는 것 같습니다. 이 작업을 수행하기 위해서는 저수준 라인 레이아웃 API가 필요할 것이므로 MSDN에서 Windows API와 관련된 설명서를 찾을 수 없습니다.

이것은 고정밀 공구를위한 것입니다. 그래서 우리는 필요한 것을 얻기 위해 많은 노력을 기울일 것입니다.

미리 감사드립니다.

답변

0

정확도와 일관성에 문제가 있으므로 내장 된 TextRenderer 메서드를 사용하지 않는 것이 고정밀 도구입니다.

편집 컨트롤의 모양은 직사각형에서 원으로 변경하는 것입니까 아니면 컨트롤이 여전히 사각형 영역을 차지합니까? 전자의 경우 Region 속성을 변경하거나 SetWindowRgn 패밀리를 P/Invoke 할 수 있습니다.

+0

감사합니다. 재 : 모양, 실제 편집 가능한 영역은 사용자 정의 모양이어야합니다. 보이는 외곽선은이 모양을 갖습니다. – bright

+0

@bright - 처음부터 이걸 100 %해야 할 것 같습니다. 영감을 얻기 위해 포스트 스크립트 렌더러 나 그 라인을 따라 살펴볼 것입니다. – overslacked

관련 문제