var
FirstButton, SecondButton : TButton;
procedure FirstClick(Sender : TObject);
begin
with WizardForm.ComponentsList do begin
Checked[0] := True;
Checked[1] := False;
Checked[2] := True;
end;
end;
procedure SecondClick(Sender : TObject);
begin
with WizardForm.ComponentsList do begin
Checked[0] := False;
Checked[1] := True;
Checked[2] := False;
end;
end;
procedure InitializeWizard;
begin
WizardForm.ComponentsDiskSpaceLabel.Hide;
FirstButton := TButton.Create(WizardForm);
with FirstButton do begin
Parent := WizardForm.SelectComponentsPage;
SetBounds(ScaleX(10), ScaleY(205), ScaleX(80), ScaleY(25));
OnClick := @FirstClick;
Caption := 'Первая';
end;
SecondButton := TButton.Create(WizardForm);
with SecondButton do begin
Parent := WizardForm.SelectComponentsPage;
SetBounds(ScaleX(300), ScaleY(205), ScaleX(80), ScaleY(25));
OnClick := @SecondClick;
Caption := 'Вторая';
end;
end;[/SOURCE][/SPOILER]Нужные вам процедуры: [B]FirstClick, SecondClick.[/B].
var
WelcomeLabel1, WelcomeLabel2 : TLabel;
DesktopIconCheckBox: TNewCheckBox;
DesktopIconLabel : TLabel;
function DesktopIcon: Boolean;
begin
Result := DesktopIconCheckBox.Checked;
end;
procedure DesktopIconLabelClick(Sender: TObject);
begin
DesktopIconCheckBox.Checked := not (DesktopIconCheckBox.Checked);
end;
procedure RedesignWizardForm;
begin
with WizardForm do
begin
WizardBitmapImage.Width := ScaleX(497);
WelcomeLabel1.Hide;
WelcomeLabel2.Hide;
end;
WelcomeLabel1 := TLabel.Create(WizardForm);
with WelcomeLabel1 do
begin
Caption := WizardForm.WelcomeLabel1.Caption;
Parent := WizardForm.WelcomePage;
Transparent := True;
WordWrap := True;
Font.Name := WizardForm.WelcomeLabel1.Font.Name;
Font.color := clWhite;
Font.Style := WizardForm.WelcomeLabel1.Font.Style;
Font.Size := WizardForm.WelcomeLabel1.Font.Size;
SetBounds(ScaleX(176), ScaleY(16), ScaleX(301), ScaleY(55));
end;
DesktopIconCheckBox := TNewCheckBox.Create(WizardForm);
with DesktopIconCheckBox do
begin
Parent := WizardForm.WelcomePage;
SetBounds(ScaleX(176), ScaleY(100), ScaleX(13), ScaleY(13));
end;
DesktopIconLabel := TLabel.Create(WizardForm);
with DesktopIconLabel do
begin
Parent := WizardForm.WelcomePage;
Transparent := True;
Font.color := clWhite;
Caption := ExpandConstant('{cm:CreateDesktopIcon}');
Cursor := crHand;
OnClick := @DesktopIconLabelClick;
SetBounds(ScaleX(195), ScaleY(100), ScaleX(200), ScaleY(17));
end;
end;
procedure InitializeWizard();
begin
RedesignWizardForm;
end;[/SOURCE][/MORE]
[quote="ilzok17, post: 13785"]Вижу в других стоит это:Transparent:=True;но как использовать не знаю[/quote]
[I]Transparent := True[/I] указывается, если вы хотите, что бы фон текста элемента TLabel был прозрачным....
мой скрипт лишь пример, что бы вы поняли принцип создания прозрачного текста, а также чекбоксов. Поэтому советую внимательно изучить, что и для чего там сделано.сейчас буду пробовать объединить мой с этим
Да,попробовал разобраться но к сожалению пока мало что понял.Я просто вычитал на одном сайте что достаточно добавить 3-4 строчки в уже готовый и оформленный скрипт чтобы появилась прозрачность фона этих надписей,ну там где это нужно ещё дописывать Transparent:=True;.Почему то всё основное оказалось довольно не сложно(FreeArc,музыка,слайд-шоу,заставка,формы и т.д.),а такая,казалось бы мелочь как прозрачный фон этих надписей всё стопорит,а этот фон,не зависимо какой цвет ему придаёшь - всё портит.мой скрипт лишь пример, что бы вы поняли принцип создания прозрачного текста, а также чекбоксов. Поэтому советую внимательно изучить, что и для чего там сделано.
ЗЫ. Для спасибо есть кнопочка
Мне кажется я понял в чем причина вашего негодованияа такая,казалось бы мелочь как прозрачный фон этих надписей всё стопорит,а этот фон,не зависимо какой цвет ему придаёшь - всё портит.
Это изврат....ну или воспользоваться модулем
Для X64 добавить Check: IsWin64, а для X32 добавить Check: not IsWin64, т.еЧто надо прописать в ветке реестра чтобы он не устанавливался в раздел Wow6432Node если ось x64
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.
[Registry]
Root: HKLM; SubKey: SOFTWARE\My Program; ValueType: string; ValueName: Install Dir; ValueData: {app}; Flags: uninsdeletekey; Check: not IsWin64
Root: HKLM; SubKey: SOFTWARE\Wow6432Node\My Program; ValueType: string; ValueName: Install Dir; ValueData: {app}; Flags: uninsdeletekey; Check: IsWin64
[*Code]
function InitializeSetup: Boolean;
begin
if IsWin64 then
else
result:=true;
end;
;#define External GetEnv("ProgramFiles") + "\FreeArc\PowerPack\Max\*"
;Вынес в отдельный файл все функции связанные с текстурой из оригинального скрипта.
;#deifne Texture
;Добавляем архивы
#define Archives "{src}\data1.bin;DestDir:{app}\;Disk:1;Components:Russian"
#define Archives Archives + "|" + "{src}\data2.bin;DestDir:{app}\data;Disk:1"
#define Archives Archives + "|" + "{src}\data3.bin;DestDir:{app}\data2;Disk:2;Components:English"
#define Archives Archives + "|" + "{src}\data4.bin;DestDir:{app}\data3;Disk:2"
[ISToolPreCompile]
#define isFalse(any S) (S = LowerCase(Str(S))) == "no" || S == "false" || S == "off" ? "true" : "false"
[Setup]
AppName=FreeArc Example
AppVerName=FreeArc Example 3.3 Extreme
DefaultDirName={pf}\FreeArc Example
DirExistsWarning=no
ShowLanguageDialog=auto
OutputBaseFilename=FreeArc_Example-Ext
OutputDir=.
VersionInfoCopyright=Bulat Ziganshin, Victor Dobrov, SotM, CTACKo, Shegorat
[UninstallDelete]
Type: filesandordirs; Name: {app}
[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl
[CustomMessages]
rus.ArcBreak=Установка прервана!
rus.ArcError=Распаковщик FreeArc вернул код ошибки: %1.
rus.ErrorUnknownError=Ошибка при распаковке архивов. Пожалуйста, обратитесь к разработчику программы.
rus.ErrorCompressMethod=Метод сжатия "%1" данного архива "%2" не поддерживается данной версией unarc.dll.
rus.ErrorOutBlockSize=Выходной блок данных архива "%1" слишком мал.
rus.ErrorNotEnoughRAMMemory=Недостаточно свободной оперативной памяти для распаковки архива "%1".
rus.ErrorReadData=Ошибка чтения данных архива "%1".
rus.ErrorBadCompressedData=Данные из архива "%1" не могут быть распакованы.
rus.ErrorNotImplement=Запрошенное действие не поддерживается данной версией unarc.dll.
rus.ErrorDataAlreadyDecompress=Запрошенный блок данных архива "%1" уже распакован.
rus.ErrorUnpackTerminated=Операция прервана пользователем.
rus.ErrorWriteData=Ошибка записи данных из архива "%1".
rus.ErrorBadCRC=Ошибка данных CRC в архиве "%1".
rus.ErrorBadPassword=Пароль введенный для данного архива "%1" неверен.
rus.ErrorBadHeader=Заголовок архива "%1" поврежден.
rus.ErrorCodeException=Ошибка выполнения программы установки. Пожалуйста, обратитесь к разработчику программы.
rus.ErrorNotEnoughFreeSpace=Недостаточно свободного места на диске назначения для распаковки архива "%1".
rus.ArcTitle=Распаковка FreeArc-архивов...
rus.StatusInfo=Файлов: %1%2, %3%% выполнено, осталось ждать %4
rus.ArcInfo=Диск %1 из %2, архив %3 из %4, архив обработан на %5%%
rus.ArcFinish=Распаковано архивов: %1, получено файлов: %2 [%3]
rus.InsertDisk=Пожалуйста, вставьте диск № %1, содержащий файл "%2" и нажмите кнопку ОК.
rus.taskbar=%1%%, жди %2
rus.ending=Завершение
rus.hour=часов
rus.min=мин
rus.sec=сек
[Files]
Source: unarc.dll; DestDir: {tmp}; Flags: dontcopy
Source: InnoCallback.dll; DestDir: {tmp}; Flags: dontcopy
#ifdef precomp
;если указано, что архивы созданы с PRECOMP, в инсталлятор включаются необходимые при распаковке файлы
Source: {#External}; DestDir: {sys}; Flags: deleteafterinstall
Source: "{#GetEnv(""ProgramFiles"")}\FreeArc\bin\arc.ini"; DestDir: c:\; Flags: deleteafterinstall
#endif