2013-11-27 2 views
1

Win32에서 지원하는 컨트롤은 아래 그림과 같이 C#에서 Run과 같이 마우스 다운 이벤트를 지원하고 텍스트를 줄 바꿈합니다. 내장 된 컨트롤이 없다면 어떤 라이브러리를 사용할 수 있습니까? 감사!           enter image description hereC++ Win32에서 컨트롤은 C# WPF에서 "실행"컨트롤과 동일합니까?

<TextBlock TextWrapping="Wrap" FontSize="20" Margin="10"> 
    <Run>A text run.</Run> 
    <Run Background="Yellow" MouseDown="Run_MouseDown"> 
     <!-- Support mouse down event --> 
     This is long Run that auto wrap to begin of the below line. 
    </Run> 
</TextBlock> 

답변

3

한 후보        

   

STATIC 제어 될 것이다.

SS_LEFT 스타일 사용

간단한 사각형과 사각형의 텍스트를 왼쪽 정렬합니다. 텍스트는 표시되기 전에 형식이 지정됩니다. 줄 끝을지나 확장 된 단어는 자동으로 다음 왼쪽 맞춤 줄의 시작 부분으로 줄 바꿈됩니다. 컨트롤의 너비보다 긴 단어는 잘립니다.

컨트롤을 클릭하면 부모 컨트롤에 STN_CLICKED 알림이 전송됩니다.

STATIC 컨트롤로 수행 할 수없는 작업은 스크린 샷에 표시된 텍스트의 일부를 강조 표시합니다. 이를 달성하려면 windowless rich edit controls을 사용해야 할 것입니다.

+0

내 질문에, 나는 마우스 이벤트를 설정하는 두 가지를 사용하는 2 Run 컨트롤을 가지고 있습니다. 두 번째는 첫 번째 이후에 추가됩니다. 정적 제어는 라인을 끊을 수 있지만, 두 번째 라인은 첫 번째 라인과 동일한 시작 수평 위치를가집니다. 내가 원하는 것은 첫 번째 Run 컨트롤과 동일한 수평 시작에서 두 번째 Run 텍스트 브레이크 라인입니다. – Sakura

+1

그 스크린 샷의 모양을 얻으려면 창없는 풍부한 편집을 원할 것입니다. –

+0

@DavidHeffeman ES_MULTILINE 스타일의 일반 텍스트 컨트롤을 사용하여 요구 사항을 충족시킬 수 있습니다. –

관련 문제