2013-07-30 1 views
0

OnClick 이벤트를 설치자의 텍스트 일부에 추가해야합니다.텍스트의 일부에 OnClick 이벤트를 추가하려면 어떻게해야합니까?

그러면 "bla bla bla 클릭 가능 텍스트 bla bla bla"와 같이 표시됩니다.

또한이 텍스트는 한글화로 인해 정확한 크기를 알지 못하므로 WordWrap 속성을 True로 설정해야합니다.

내가이

"-클릭하지 -text1 클릭 - 텍스트 2-클릭하지 -text3"

하지만 같은 것 때문에 3 개 부분으로 텍스트를 분리하려고했다 text3이 설치 프로그램의 다음 줄로 가야 할 때 문제가 시작됩니다. 그것은 text3.Left 재산의 위치에서 시작하지만, 나는 그것이 text1.Left 속성에서 다음 줄에 시작해야

답변

1

이노의 텍스트 클릭 할 부분 같은 그런 것은 없다.

전체 문장을 작성하려면 실제로 "텍스트"(TLabel 또는 TNewStaticText)를 사용해야합니다. 가운데 하나는 Font 속성을 굵게, 밑줄 또는 파란색으로 설정하고 (링크를 원하는지에 따라 다름), 커서를 Hand, ... OnClick 이벤트로 설정합니다.

두 구성 요소에는 사용할 수있는 AutoSize 및 WordWrap 속성이 있습니다.

AutoSize 속성을 true로 설정하면 구성 요소의 너비와 높이가 텍스트 크기에 맞게 조정됩니다. 3 개의 텍스트 모두 True로 설정하십시오. 이 같은

위치 텍스트 : 숫자 상수를 통해 제어 위치를 설정할 때

Text1.Left := 10; // 10 is just example 
Text1.Top := 10; // 10 is just example 
Text2.Left := Text1.Left + Text1.Width + 3; // 3 is space 
if(Text1.Height > $Constant$) then 
    Text3.Top := Text1.Top + Text1.Height + 3 // Create new line 
else 
    Text3.Left := Text2.Left + Text2.Width + 3; 
+0

잊지 마세요'ScaleX'와'ScaleY' 기능을 사용할 수 있습니다. – Miral

+0

이 경우 text3이 첫 번째 줄에 맞지 않으면 ALL이 새 줄로 이동합니다. 하지만 text1과 text2의 일부가 될 수 있도록 가능한 한 첫 줄을 채우고 나머지 줄은 새 줄로 이동합니다 – Alex

+0

이러한 기능은 실제로 복잡합니다. 나는 네 번째 텍스트가 현재 줄을 채우기 위해 추가 될 수있는 많은 문자를 포함 할 것이고 text4가 다음 줄로 이동할 4 번째 텍스트를 사용함으로써 달성 할 수 있다고 가정한다. for 루프를 사용하여 텍스트에서 문자를 가져오고 텍스트에 문자를 추가 한 다음 text3에 추가하고 그 밖의 경우 text4 (새 줄)를 중지하고 만듭니다. 텍스트를 측정하는 방법은 몇 가지가 있지만 머리에서이 코드를 작성할 수는 없습니다. – Slappy

관련 문제