Старожил
Сообщения: 440
Благодарности: 251
|
Профиль
|
Сайт
|
Отправить PM
| Цитировать
Цитата ErikPshat:
Есть какой-то готовый вариант для подобного MessageBox? А то у меня уже голова не шарит. »
|
Набросал на скорую руку пример
Код:
[Setup]
AppName = MyApp
AppVerName = MyApp
DefaultDirname = {pf}\MyApp
OutputDir=.
[Code]
var
NewButton1: TNewButton;
NewForm: TSetupForm;
YesButton: TNewButton;
NoButton: TNewButton;
Check: array [0..3] of TCheckBox;
procedure NewFormButtonClick(Sender: TObject);
begin
case TNewButton(Sender) of
YesButton: MsgBox('Запустилась упаковка.', mbInformation, MB_OK); // Сюда вешаешь выполнение, если да
NoButton: MsgBox('Ничего не произошло.', mbInformation, MB_OK); // Сюда, если нет
end;
NewForm.Close;
end;
procedure GetCheck(Sender: TObject);
begin
case sender of
Check[0]: if Check[0].Checked then begin Check[1].Checked:= False; Check[2].Checked:= False; end;
Check[1]: if Check[1].Checked then begin Check[2].Checked:= False; Check[0].Checked:= False; end;
Check[2]: if Check[2].Checked then begin Check[1].Checked:= False; Check[0].Checked:= False; end;
end;
end;
procedure TestOnClick(Sender: TObject);
begin
NewForm:= CreateCustomForm();
with NewForm do begin
ClientWidth:= ScaleX(473);
ClientHeight:= ScaleY(233);
BorderIcons:= [];
Caption:= 'Тест';
Color:= clWindow;
CenterInsideControl(WizardForm, False);
end;
with TLabel.Create(NewForm) do begin
Parent:= NewForm;
SetBounds(ScaleX(-1), ScaleY(187), ScaleX(475), ScaleY(47));
Transparent:= false;
Color:= clBtnFace;
end;
with TLabel.Create(NewForm) do begin
Parent:= NewForm;
SetBounds(ScaleX(60), ScaleY(10), ScaleX(400), ScaleY(80));
AutoSize:= False;
Caption:= 'Вы хотите упаковать папку в PKG?';
end;
Check[0]:= TCheckBox.Create(NewForm);
with Check[0] do begin
Parent:= NewForm;
Checked:= True;
Left:=ScaleX(60);
Top:= ScaleY(90);
Width:=ScaleX(280);
OnClick:= @GetCheck;
Caption:= ' Тест 1';
end;
Check[1]:= TCheckBox.Create(NewForm);
with Check[1] do begin
Parent:= NewForm;
Left:=ScaleX(60);
Top:= ScaleY(115);
Width:=ScaleX(280);
OnClick:= @GetCheck;
Caption:= ' Тест 2';
end;
Check[2]:= TCheckBox.Create(NewForm);
with Check[2] do begin
Parent:= NewForm;
Left:=ScaleX(60);
Top:= ScaleY(140);
Width:=ScaleX(280);
OnClick:= @GetCheck;
Caption:= ' Тест 3';
end;
YesButton:= TNewButton.Create(NewForm);
with YesButton do begin
Parent:= NewForm;
SetBounds(ScaleX(304), ScaleY(200), ScaleX(75), ScaleY(23));
OnClick:= @NewFormButtonClick;
Caption:= SetupMessage(msgButtonYes);
end;
NoButton := TNewButton.Create(NewForm);
with NoButton do begin
Parent:= NewForm;
SetBounds(ScaleX(389), ScaleY(200), ScaleX(75), ScaleY(23));
OnClick:= @NewFormButtonClick;
Caption:= SetupMessage(msgButtonNo);
end;
NewForm.ShowModal;
NewForm.Free;
end;
procedure InitializeWizard();
begin
NewButton1:= TNewButton.Create(WizardForm);
with NewButton1 do
begin
Parent:= WizardForm;
SetBounds(ScaleX(10),ScaleY(327),ScaleX(75),ScaleY(23));
Caption:= 'Тест';
OnClick:= @TestOnClick;
end;
end;
И да, зачем ты в MsgBox пихаешь ExpandConstant? Совершенно лишнее.
Код:
if MsgBox('Выбрана следующая папка :'+#10#10+FolderName+#10#10+'Вы хотите упаковать папку в PKG менее 4 ГБ?', mbInformation, MB_YESNO) = IDYES then
|
-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".
Последний раз редактировалось nik1967, 20-11-2018 в 16:04.
Отправлено: 15:10, 20-11-2018
| #149
|