如何在文本的一部分上添加OnClick事件?

时间:2013-07-30 15:18:06

标签: onclick inno-setup

我需要将 OnClick 事件添加到安装程序中的部分文本中。

所以它会像这样“bla bla bla 可点击的文字 bla bla bla”。

此文本也应该将WordWrap属性设置为True,因为由于一堆本地化,我不知道它的确切大小。

我试图将文本分成3部分,所以它就像这样

不可点击 -text1 clickable-text2 不可点击 -text3”

但是当text3进入下一行安装程序时问题就开始了。它从 text3.Left 属性的位置开始,但是我需要它从 text1.Left 属性的下一行开始

1 个答案:

答案 0 :(得分:1)

在Inno中没有像文字的可点击部分这样的东西。

你真的需要使用3个“文本” - TLabel或TNewStaticText - 来构建整个句子。中间的一个将Font属性设置为粗体,下划线或蓝色(取决于你想要的链接)和Cursor设置为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;