Войти

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 6]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [19] 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

saurn
05-05-2013, 21:40
neorom,

[Code]
var
QuickLaunchIcon: TCheckBox;

function MakeQuickLaunchIcon: Boolean;
begin
Result := QuickLaunchIcon.Checked;
end;

procedure InitializeWizard();
begin
WizardForm.ComponentsDiskSpaceLabel.Hide;
QuickLaunchIcon := TCheckBox.Create(WizardForm);
with QuickLaunchIcon do
begin
Parent := WizardForm.ComponentsDiskSpaceLabel.Parent;
Caption := 'Создать значок в Панели быстрого запуска';
SetBounds(WizardForm.ComponentsDiskSpaceLabel.Left, WizardForm.ComponentsDiskSpaceLabel.Top, WizardForm.ComponentsDiskSpaceLabel.Width, WizardForm.ComponentsDiskSpaceLabel.Height)
end;
end;

neorom
05-05-2013, 21:52
saurn Извините, но чекбокс не отображался на странице SelectComponentsPage.

saurn
05-05-2013, 21:57
neorom, добавьте в скрипт хотя бы один компонент, в секции [Components], чтобы создалась страница компонентов, тогда чекбокс увидите.

neorom
05-05-2013, 22:24
добавьте в скрипт хотя бы один компонент, в секции [Components], чтобы создалась страница компонентов, тогда чекбокс увидите »
На странице я стараюсь сделать вывод чекбокса без секции [Components], эсть только секции [Files] та [Icon] с которих береться файли.

saurn
05-05-2013, 22:29
neorom, если в скрипте не указан ни один компонент в секции [Components], страница компонентов создана не будет, так как надобность в ней отпадает, логично? Вы хотите разместить контрол на странице выбора компонентов, но при этом ваш установщик компонетов не содержит. Выход: размещайте контрол на другой странице.

neorom
05-05-2013, 22:40
размещайте контрол на другой странице »
На какой странице именно ?

saurn
05-05-2013, 22:44
neorom, на любой странице, которая есть в вашем установщике.
Parent := Страница мастера;

neorom
06-05-2013, 09:07
Как создать пустую страницу, которая бы ишла после SelectDirPage, бо у меня ни как не получаэться.

vint56
06-05-2013, 10:08
neorom,
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Code]
var
MyPage: TWizardPage;

procedure InitializeWizard();
begin
MyPage := CreateCustomPage(wpSelectDir, 'ISCustomPage1_Caption', 'ISCustomPage1_Description');
end;

insombia
06-05-2013, 15:09
ребята,протестируйте инсталл,нету ли багов? http://rghost.ru/45801868

saurn
06-05-2013, 17:10
insombia
1. Со стартовой страницей надобы что-то сделать, текст сливается с картинкой и выглядит, как грязь.
2. При отмене инсталл аварийно завершает работу. Где-то косяк в скрипте.

insombia
06-05-2013, 17:31
saurn нашел баг,это из-за скина,не хватало DeinitializeSetup в коде

neorom
07-05-2013, 11:15
Может кто то поправить мой скрип, как при розположения родиобутона менялось фото (у верху бутон - одно фото, в низу - другоэ) фото с права от центра. Оба фота имеют одинакивиэ розмири http://s3.share.te.ua/501794/radiobuton.JPG (http://s3.share.te.ua/b501794/radiobuton.JPG)
[Setup]
AppName=IDM 6.15 Build 10 Final
AppVerName=Internet Download Manager
DefaultDirName={pf}\Internet Download Manager
DisableReadyPage=true
MergeDuplicateFiles=false
SolidCompression=false
Compression=lzma/ultra64
UseSetupLdr=true
AppID=Internet Download Manager
DefaultGroupName=Internet Download Manager
WizardImageFile=modern-wizard.bmp
WizardSmallImageFile=modern-header.bmp

[Languages]
Name: Ukrainian; MessagesFile: compiler:Languages\Ukrainian.isl

[Files]
Source: 01.bmp; Flags: dontcopy solidbreak
Source: instaler\*.*; DestDir: {app}; Check: installer
Source: portable\*.*; DestDir: {app}; Check: portable

[_Code]
var
ISCustomPage1: TWizardPage;
BitmapImage1: TBitmapImage;
NewGroupBox1: TNewGroupBox;
NewRadioButton1: TNewRadioButton;
NewRadioButton2: TNewRadioButton;
NewGroupBox2: TNewGroupBox;
NewCheckBox1: TNewCheckBox;
NewCheckBox2: TNewCheckBox;
NewCheckBox3: TNewCheckBox;
NewCheckBox4: TNewCheckBox;

function installer: Boolean;
begin
Result := NewRadioButton1.Checked;
end;

function portable: Boolean;
begin
Result := NewRadioButton2.Checked;
end;

function Icons1: Boolean;
begin
Result:= NewCheckBox1.Checked;
end;

function Icons2: Boolean;
begin
Result:= NewCheckBox2.Checked;
end;

function Icons3: Boolean;
begin
Result:= NewCheckBox3.Checked;
end;

function Icons4: Boolean;
begin
Result:= NewCheckBox4.Checked;
end;

procedure NewRadioButton1Click(Sender: TObject);
begin
NewCheckBox1.Checked:= NewRadioButton1.Checked;
NewCheckBox2.Checked:= NewRadioButton1.Checked; //Подставляем значение
NewCheckBox3.Checked:= NewRadioButton1.Checked;
NewCheckBox4.Checked:= NewRadioButton1.Checked;
NewCheckBox1.Enabled:= NewRadioButton1.Checked;
NewCheckBox2.Enabled:= NewRadioButton1.Checked;
NewCheckBox3.Enabled:= NewRadioButton1.Checked;
NewCheckBox4.Enabled:= NewRadioButton1.Checked;
end;

procedure NewRadioButton2Click(Sender: TObject);
begin
NewCheckBox1.Enabled:= NewRadioButton1.Checked;
NewCheckBox2.Enabled:= NewRadioButton1.Checked;
NewCheckBox3.Enabled:= NewRadioButton1.Checked;
NewCheckBox4.Enabled:= NewRadioButton1.Checked;
NewCheckBox1.Checked:= NewRadioButton1.Checked;
NewCheckBox2.Checked:= NewRadioButton1.Checked;
NewCheckBox3.Checked:= NewRadioButton1.Checked;
NewCheckBox4.Checked:= NewRadioButton1.Checked;
end;

procedure NewCheckBox1Click(Sender: TObject); forward;
procedure NewCheckBox2Click(Sender: TObject); forward;
procedure NewCheckBox3Click(Sender: TObject); forward;
procedure NewCheckBox4Click(Sender: TObject); forward;
procedure PageNameLabelClick(Sender: TObject); forward;

procedure RedesignWizardForm;
begin
ISCustomPage1 := CreateCustomPage(wpSelectComponents, 'Вибір типа компонентів встановлення', ' ...');
with ISCustomPage1.Surface do
begin
Name := 'ISCustomPage1';
end;

BitmapImage1 := TBitmapImage.Create(WizardForm);
with BitmapImage1 do
begin
Name := 'BitmapImage1';
Parent := ISCustomPage1.Surface;
Left := ScaleX(232);
Top := ScaleY(32);
Width := ScaleX(180);
Height := ScaleY(180);
ExtractTemporaryFile('01.bmp');
Bitmap.LoadFromFile(ExpandConstant('{tmp}\01.bmp'));
end;

NewGroupBox1 := TNewGroupBox.Create(WizardForm);
with NewGroupBox1 do
begin
Name := 'NewGroupBox1';
Parent := ISCustomPage1.Surface;
Left := ScaleX(8);
Top := ScaleY(8);
Width := ScaleX(209);
Height := ScaleY(65);
Caption := 'Мова інтерфейсу за умовчанням';
end;

NewRadioButton1 := TNewRadioButton.Create(WizardForm);
with NewRadioButton1 do
begin
Name := 'NewRadioButton1';
Parent := NewGroupBox1;
Left := ScaleX(8);
Top := ScaleY(16);
Width := ScaleX(196);
Height := ScaleY(17);
Checked := True;
Caption := 'Встановлення звичайної версії';
OnClick := @NewRadioButton1Click;
end;

NewRadioButton2 := TNewRadioButton.Create(WizardForm);
with NewRadioButton2 do
begin
Name := 'NewRadioButton2';
Parent := NewGroupBox1;
Left := ScaleX(8);
Top := ScaleY(40);
Width := ScaleX(196);
Height := ScaleY(17);
Caption := 'Розпакування портативної версії';
OnClick := @NewRadioButton2Click;
end;

NewRadioButton1.TabOrder := 0;
NewRadioButton2.TabOrder := 1;

NewGroupBox2 := TNewGroupBox.Create(WizardForm);
with NewGroupBox2 do
begin
Name := 'NewGroupBox2';
Parent := ISCustomPage1.Surface;
Left := ScaleX(8);
Top := ScaleY(112);
Width := ScaleX(209);
Height := ScaleY(113);
Caption := 'Додатково';
end;

NewCheckBox1 := TNewCheckBox.Create(WizardForm);
with NewCheckBox1 do
begin
Name := 'NewCheckBox1';
Parent := NewGroupBox2;
Left := ScaleX(8);
Top := ScaleY(16);
Width := ScaleX(196);
Height := ScaleY(17);
Checked := True
Caption := 'Закріпити в панелі задач';
OnClick := @NewCheckBox1Click;
end;

NewCheckBox2 := TNewCheckBox.Create(WizardForm);
with NewCheckBox2 do
begin
Name := 'NewCheckBox2';
Parent := NewGroupBox2;
Left := ScaleX(8);
Top := ScaleY(40);
Width := ScaleX(196);
Height := ScaleY(17);
Checked := True
Caption := 'Закріпити в меню ПУСК';
OnClick := @NewCheckBox2Click;
end;

NewCheckBox3 := TNewCheckBox.Create(WizardForm);
with NewCheckBox3 do
begin
Name := 'NewCheckBox3';
Parent := NewGroupBox2;
Left := ScaleX(8);
Top := ScaleY(64);
Width := ScaleX(196);
Height := ScaleY(17);
Checked := True
Caption := 'Ярлик(и) на робочому столі';
OnClick := @NewCheckBox3Click;
end;

NewCheckBox4 := TNewCheckBox.Create(WizardForm);
with NewCheckBox4 do
begin
Name := 'NewCheckBox4';
Parent := NewGroupBox2;
Left := ScaleX(8);
Top := ScaleY(88);
Width := ScaleX(196);
Height := ScaleY(17);
Checked := True
Caption := 'Ярлики в меню ПУСК';
OnClick := @NewCheckBox4Click;
end;

NewCheckBox1.TabOrder := 0;
NewCheckBox2.TabOrder := 1;
NewCheckBox3.TabOrder := 2;
NewCheckBox4.TabOrder := 3;

NewGroupBox1.TabOrder := 0;
NewGroupBox2.TabOrder := 1;

with WizardForm.WizardSmallBitmapImage do
begin
Left := ScaleX(0);
Width := ScaleX(150);
end;

with WizardForm.PageDescriptionLabel do
begin
Left := ScaleX(200);
Top := ScaleY(27);
Width := ScaleX(293);
end;

with WizardForm.PageNameLabel do
begin
OnClick := @PageNameLabelClick;
Left := ScaleX(200);
Width := ScaleX(269);
end;
end;

procedure PageNameLabelClick(Sender: TObject);
begin

end;


procedure NewCheckBox1Click(Sender: TObject);
begin

end;

procedure NewCheckBox2Click(Sender: TObject);
begin

end;

procedure NewCheckBox3Click(Sender: TObject);
begin

end;

procedure NewCheckBox4Click(Sender: TObject);
begin

end;

procedure InitializeWizard();
begin
RedesignWizardForm;
end;

GolD18
07-05-2013, 16:21
Добрый день. Воспользовался скриптом, взятым с этого сайта на свой шрифт в инсталляторе. Код вставил себе в скрипт, ошибок при компиляции нет, но в инсталле шрифт не изменился.

#define Font "Rurintania.ttf"
#define FontName "Rurintania"

[Setup]
RawDataResource=font:{#Font}

[code]
#ifdef UNICODE
#define A "W"
#else
#define A "A"
#endif

function FindResource(hModule: THandle; lpName: String; lpType: Integer): THandle; external 'FindResource{#A}@kernel32.dll stdcall';
function LoadResource(hModule, hResInfo: THandle): THandle; external 'LoadResource@kernel32.dll stdcall';
function LockResource(hResData: THandle): Longint; external 'LockResource@kernel32.dll stdcall';
function SizeofResource(hModule, hResInfo: THandle): DWORD; external 'SizeofResource@kernel32.dll stdcall';
function AddFontMemResourceEx(pbFont: Longint; cbFont: DWORD; pdv: Longint; var pcFonts: DWORD): THandle; external 'AddFontMemResourceEx@gdi32.dll stdcall';
function RemoveFontMemResourceEx(fh: THandle): BOOL; external 'RemoveFontMemResourceEx@gdi32.dll stdcall';

const
RT_RCDATA = 10;

var
fh, hResInfo, hResAddr: THandle;
pcFonts, iResSize: DWORD;

procedure InitializeWizard();
begin
if not FontExists('{#FontName}') then
begin
hResInfo := FindResource(HInstance, '_IS_FONT', RT_RCDATA);
iResSize := SizeofResource(HInstance, hResInfo);
hResAddr := LockResource(LoadResource(HInstance, hResInfo));
pcFonts := 1;
fh := AddFontMemResourceEx(hResAddr, iResSize, 0, pcFonts);
end;
//отсюда начинаем указывать наш шрифт
WizardForm.Font.Name := '{#FontName}';
end;

procedure DeinitializeSetup();
begin
RemoveFontMemResourceEx(fh);
end;

Брал этот код.

El Sanchez
07-05-2013, 17:38
Код вставил себе в скрипт, ошибок при компиляции нет, но в инсталле шрифт не изменился. »
GolD18, теперь покажите код, который на самом деле в вашем скрипте.

GolD18
07-05-2013, 19:07
El Sanchez, http://rghost.ru/45831009 Без файлов. Просто скрипт. Напишите, если нужны будут файлы. Спасибо за помощь.

neorom
07-05-2013, 20:07
И объясните конкретней, что вам нужно, а то я не совсем понял. »
Нужно чтоби когда позначка RadioButton стоит уверху, било одне фото, когда позначка RadioButton стоит внезу - другоэ фото.
Примерно так чтоби било http://s3.share.te.ua/501805/foto.JPG (http://s3.share.te.ua/b501805/foto.JPG) а эсть так http://s3.share.te.ua/501806/foto2.JPG (http://s3.share.te.ua/b501806/foto2.JPG)
http://us.ua/1111239/

El Sanchez
07-05-2013, 20:24
#define Font "Agent Orange 2.ttf"
#define FontName "Agent Orange 2"

GolD18, имя файла шрифта может быть любым, тут ошибки нет, но само имя шрифта не должно меняться. Откройте шрифт (по умолчанию у шрифтов ассоциация со стандартным виндовым fontview) и в поле Имя шрифта увидите то, что нужно писать при объявлении константы FontName. У шрифта Agent Orange версии 2 имя без двойки.

saurn
07-05-2013, 20:38
neorom
[Code]
var
ISCustomPage1: TWizardPage;
BitmapImage1: TBitmapImage;
NewGroupBox1: TNewGroupBox;
NewRadioButton1: TNewRadioButton;
NewRadioButton2: TNewRadioButton;
NewGroupBox2: TNewGroupBox;
NewCheckBox1: TNewCheckBox;
NewCheckBox2: TNewCheckBox;
NewCheckBox3: TNewCheckBox;
NewCheckBox4: TNewCheckBox;
ErrorCode: Integer;

function InitializeSetup(): Boolean;
begin
if not FileExists(ExpandConstant('{tmp}\01.bmp')) then ExtractTemporaryFile('01.bmp');
if not FileExists(ExpandConstant('{tmp}\02.bmp')) then ExtractTemporaryFile('02.bmp');
Result := True;
end;

function installer: Boolean;
begin
Result := NewRadioButton1.Checked;
end;

function portable: Boolean;
begin
Result := NewRadioButton2.Checked;
end;

function Icons1: Boolean;
begin
Result:= NewCheckBox1.Checked;
end;

function Icons2: Boolean;
begin
Result:= NewCheckBox2.Checked;
end;

function Icons3: Boolean;
begin
Result:= NewCheckBox3.Checked;
end;

function Icons4: Boolean;
begin
Result:= NewCheckBox4.Checked;
end;

procedure BevelLabelClick(Sender: TObject);
begin
ShellExec('open','http://toloka.hurtom.com','', '', SW_SHOW, ewNoWait, ErrorCode)
end;

procedure NewRadioButtonClick(Sender: TObject);
begin
case TNewRadioButton(Sender) of
NewRadioButton1:
begin
NewCheckBox1.Checked:= NewRadioButton1.Checked;
NewCheckBox2.Checked:= NewRadioButton1.Checked;
NewCheckBox3.Checked:= NewRadioButton1.Checked;
NewCheckBox4.Checked:= NewRadioButton1.Checked;
NewCheckBox1.Enabled:= NewRadioButton1.Checked;
NewCheckBox2.Enabled:= NewRadioButton1.Checked;
NewCheckBox3.Enabled:= NewRadioButton1.Checked;
NewCheckBox4.Enabled:= NewRadioButton1.Checked;
BitmapImage1.Bitmap.LoadFromFile(ExpandConstant('{tmp}\01.bmp'));
end;
NewRadioButton2:
begin
NewCheckBox1.Enabled:= NewRadioButton1.Checked;
NewCheckBox2.Enabled:= NewRadioButton1.Checked;
NewCheckBox3.Enabled:= NewRadioButton1.Checked;
NewCheckBox4.Enabled:= NewRadioButton1.Checked;
NewCheckBox1.Checked:= NewRadioButton1.Checked;
NewCheckBox2.Checked:= NewRadioButton1.Checked;
NewCheckBox3.Checked:= NewRadioButton1.Checked;
NewCheckBox4.Checked:= NewRadioButton1.Checked;
BitmapImage1.Bitmap.LoadFromFile(ExpandConstant('{tmp}\02.bmp'));
end;
end;
end;

procedure NewCheckBox1Click(Sender: TObject); forward;
procedure NewCheckBox2Click(Sender: TObject); forward;
procedure NewCheckBox3Click(Sender: TObject); forward;
procedure NewCheckBox4Click(Sender: TObject); forward;
procedure PageNameLabelClick(Sender: TObject); forward;

procedure RedesignWizardForm;
begin
ISCustomPage1 := CreateCustomPage(wpSelectComponents, 'Вибір типа компонентів встановлення', ' ...');
with ISCustomPage1.Surface do
begin
Name := 'ISCustomPage1';
end;

BitmapImage1 := TBitmapImage.Create(WizardForm);
with BitmapImage1 do
begin
Name := 'BitmapImage1';
Parent := ISCustomPage1.Surface;
Left := ScaleX(232);
Top := ScaleY(32);
Width := ScaleX(180);
Height := ScaleY(180);
end;

NewGroupBox1 := TNewGroupBox.Create(WizardForm);
with NewGroupBox1 do
begin
Name := 'NewGroupBox1';
Parent := ISCustomPage1.Surface;
Left := ScaleX(8);
Top := ScaleY(8);
Width := ScaleX(209);
Height := ScaleY(65);
Caption := 'Мова інтерфейсу за умовчанням';
end;

NewRadioButton1 := TNewRadioButton.Create(WizardForm);
with NewRadioButton1 do
begin
Name := 'NewRadioButton1';
Parent := NewGroupBox1;
Left := ScaleX(8);
Top := ScaleY(16);
Width := ScaleX(196);
Height := ScaleY(17);
Checked := True;
Caption := 'Встановлення звичайної версії';
OnClick := @NewRadioButtonClick;
end;

NewRadioButton2 := TNewRadioButton.Create(WizardForm);
with NewRadioButton2 do
begin
Name := 'NewRadioButton2';
Parent := NewGroupBox1;
Left := ScaleX(8);
Top := ScaleY(40);
Width := ScaleX(196);
Height := ScaleY(17);
Caption := 'Розпакування портативної версії';
OnClick := @NewRadioButtonClick;
end;

NewGroupBox2 := TNewGroupBox.Create(WizardForm);
with NewGroupBox2 do
begin
Name := 'NewGroupBox2';
Parent := ISCustomPage1.Surface;
Left := ScaleX(8);
Top := ScaleY(112);
Width := ScaleX(209);
Height := ScaleY(113);
Caption := 'Додатково';
end;

NewCheckBox1 := TNewCheckBox.Create(WizardForm);
with NewCheckBox1 do
begin
Name := 'NewCheckBox1';
Parent := NewGroupBox2;
Left := ScaleX(8);
Top := ScaleY(16);
Width := ScaleX(196);
Height := ScaleY(17);
Checked := True
Caption := 'Закріпити в панелі задач';
OnClick := @NewCheckBox1Click;
end;

NewCheckBox2 := TNewCheckBox.Create(WizardForm);
with NewCheckBox2 do
begin
Name := 'NewCheckBox2';
Parent := NewGroupBox2;
Left := ScaleX(8);
Top := ScaleY(40);
Width := ScaleX(196);
Height := ScaleY(17);
Checked := True
Caption := 'Закріпити в меню ПУСК';
OnClick := @NewCheckBox2Click;
end;

NewCheckBox3 := TNewCheckBox.Create(WizardForm);
with NewCheckBox3 do
begin
Name := 'NewCheckBox3';
Parent := NewGroupBox2;
Left := ScaleX(8);
Top := ScaleY(64);
Width := ScaleX(196);
Height := ScaleY(17);
Checked := True
Caption := 'Ярлик(и) на робочому столі';
OnClick := @NewCheckBox3Click;
end;

NewCheckBox4 := TNewCheckBox.Create(WizardForm);
with NewCheckBox4 do
begin
Name := 'NewCheckBox4';
Parent := NewGroupBox2;
Left := ScaleX(8);
Top := ScaleY(88);
Width := ScaleX(196);
Height := ScaleY(17);
Checked := True
Caption := 'Ярлики в меню ПУСК';
OnClick := @NewCheckBox4Click;
end;

with WizardForm.WizardSmallBitmapImage do
begin
Left := ScaleX(0);
Width := ScaleX(150);
end;

with WizardForm.PageDescriptionLabel do
begin
Left := ScaleX(200);
Top := ScaleY(27);
Width := ScaleX(293);
end;

with WizardForm.PageNameLabel do
begin
OnClick := @PageNameLabelClick;
Left := ScaleX(200);
Width := ScaleX(269);
end;
end;

procedure PageNameLabelClick(Sender: TObject);
begin

end;


procedure NewCheckBox1Click(Sender: TObject);
begin

end;

procedure NewCheckBox2Click(Sender: TObject);
begin

end;

procedure NewCheckBox3Click(Sender: TObject);
begin

end;

procedure NewCheckBox4Click(Sender: TObject);
begin

end;

procedure InitializeWizard();
begin
RedesignWizardForm;
with WizardForm do
begin
with BeveledLabel do
begin
OnClick:=@BevelLabelClick;
Font.Color:=clBlue;
Enabled:=True;
Cursor:=crHand;
Font.Style:= [fsBold]
end;
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
case CurPageID of
ISCustomPage1.ID: if NewRadioButton1.Checked then BitmapImage1.Bitmap.LoadFromFile(ExpandConstant('{tmp}\01.bmp'));
end;
end;

neorom
07-05-2013, 20:52
saurn спасибо.

P.S. Мне писали чтоби я сматрел у сборнике вопросов и ответов FAQ Ru-Board.chm, и я нашол много скриптов коториэ не роботают так как написано в описаниэ. (Я использую две версии розширениє версии компилятора остальной версии (ANSI i UNICODE ))И один скриптов. (Скрипт єтот не меняєт цвет и не єсть текст подчеркнутим при навидения мишки на него). Описаниэ - Как на BeveledLabel "повесить" ссылку, чтобы текст по умолчанию не был подчеркнут, а при наведении на текст, он подчеркивался и конечно, хотелось бы, менять цвет шрифта!
[Setup]
AppName=AppName
AppVerName=AppVerName
DefaultDirName={pf}\My Program

[Messages]
BeveledLabel= Copyright 2007 © Microsoft

[_Code]
procedure BevelLabelClick(Sender: TObject);
var ErrorCode: Integer;
begin
ShellExec('open','http://www.innosetup.com','', '', SW_SHOW, ewNoWait, ErrorCode)
end;

procedure InitializeWizard();
begin
with WizardForm do begin
with BeveledLabel do begin
OnClick:=@BevelLabelClick;
Font.Color:=clBlue;
Enabled:=True;
Cursor:=crHand;
end;
end;
end;




© OSzone.net 2001-2012