PDA

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


Страниц : 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

vint56
24-09-2014, 23:46
Kashtan007, пример на ботве http://rghost.ru/58188776

roman_kudin@vk
24-09-2014, 23:54
#1308
Если поискать, еще с десяток постов с примерами найдется. »
Не работает

Kashtan007
25-09-2014, 00:02
vint56, спасибо!
Можно ли убрать фон из под StatusLabel и FilenameLabel?

saurn
25-09-2014, 00:17
Не работает »
Пример рабочий(для большей уверенности проверил еще раз), а вот где вы его применили, а точнее как - это уже другой вопрос.
Можно ли убрать фон из под StatusLabel и FilenameLabel? »
На юникодовой можно просто:
procedure InitializeWizard();
begin
WizardForm.StatusLabel.Transparent := True;
end;
На ANSI придется создавать свой TLabel, так как TNewStaticText там не поддерживает прозрачность.

vint56
25-09-2014, 00:21
Kashtan007, saurn уже ответил можно еще создать свой лейбл

StatusLabel:= TLabel.Create(WizardForm);
with StatusLabel do
begin
Left:=ScaleX(95);
Top:= ScaleY(215);
Width:= ScaleX(600);
Height:= ScaleY(50);
AutoSize:= False;
Font.Name:= 'Georgia';
Font.Size:= 10;
Font.Style:= [fsBold, fsItalic];
Font.Color:= ClWhite;
Transparent := True;
Parent:= WizardForm.InstallingPage;
Caption:= ExpandConstant('{cm:Status}')
end;

FilenameLabel:= TLabel.Create(WizardForm);
with FilenameLabel do
begin
Left:= ScaleX(65);
Top:= ScaleY(275);
Width:= ScaleX(625);
Height:= ScaleY(20);
AutoSize:= False;
Font.Name:= 'Georgia'
Font.Size:= 10;
Font.Style:= [fsBold, fsItalic];
Font.Color:= ClWhite;
Transparent := True;
Parent:= WizardForm.InstallingPage;
end;

Kashtan007
25-09-2014, 00:58
vint56, saurn, да у меня как раз юникод, все работает, но черный текст не видно, я ставлю белый, но он всеравно черный.
Делаю вот так:

WizardForm.StatusLabel.Font.Color:= clwhite;
WizardForm.FilenameLabel.Font.Color:= clwhite;

Мне кажется, что это из-за того, что я использую скин в установщике. Так ли это? Возможно ли решить проблему без редактирования самого скина?

saurn
25-09-2014, 01:05
Мне кажется, что это из-за того, что я использую скин в установщике. »
Нет. При использовании свойства Transparent слетает свойство Color. В данном случае лучше использовать TLabel.

Kashtan007
25-09-2014, 01:08
saurn, спасибо за совет, попробую.

roman_kudin@vk
25-09-2014, 20:38
Ребят, подскажите, как сделать окно инсталлятора шире?

Dodakaedr
25-09-2014, 20:41
как сделать окно инсталлятора шире? »
procedure InitializeWizard();
begin
with WizardForm do
begin
Width:=600;
end;

roman_kudin@vk
25-09-2014, 20:45
Сделало шыре. А
Как только передвинуть элемнты?

Dodakaedr
25-09-2014, 20:45
как мне быть? »
with WizardForm do
begin
Width:=600;
end;

vint56
25-09-2014, 20:50
roman_kudin@vk, можно так если есть в наличий InitializeWizard

procedure ResizeForm; //просто назови по другому
begin
with WizardForm do
begin
ClientWidth := ScaleX(600);
end;

procedure InitializeWizard();
begin
ResizeForm;
end;
скачай InnoUltra установи расширинный редактор там есть редактор форм

Dodakaedr
25-09-2014, 21:35
Как только передвинуть элемнты? »
Задайте расположение элемента.
Пример:

procedure InitializeWizard();
begin
with WizardForm.DirEdit do
begin
SetBounds(ScaleX(10), ScaleY(153), ScaleX(295), ScaleY(20));
end;

with WizardForm.DirBrowseButton do
begin
SetBounds(ScaleX(320), ScaleY(153), ScaleX(80), ScaleY(22));
end;
end;
p.s. SetBounds(ScaleX(отступ слева), ScaleY(отступ сверху), ScaleX(ширина элемента), ScaleY(высота элемента));
и так далее для каждого элемента который хотите переместить.

audiofeel
25-09-2014, 22:52
есть много примеров и все они рабочие и тд, для запуска приложения "через кнопку" с параметрами и без , те же автораны и тд, но вот если возникла необходимость поменять параметр, как это сделать ?? не компилировать ж кому то самому по новой установщик, как это все дело организовать ??
допустим через NewEdit, то есть прописать там параметр и уже потом нажать на кнопку "вкл" с уверенностью что прога запустится с теми параметрами которые пользователь указал в NewEdit
как это все организовать ??

saurn
25-09-2014, 23:09
audiofeel, Текст из TEdit можно без проблем передать запускаемой программе в качестве параметра комстроки, но только тот или те параметры, которые были предустановленны в запускаемой программе при компиляции.
[Setup]
AppName=My Application
AppVersion=1.5
CreateAppDir=no
SolidCompression=yes
Compression=lzma/ultra
PrivilegesRequired=none
Uninstallable=no
OutputDir=...

[code]
var
pEdit: TEdit;

procedure TButtonOnClick( Sender: TObject );
var
erCode: Integer;
begin
case ( Sender as TButton ).Tag of
0: Exec( 'Setup.exe', pEdit.Text, ExpandConstant( '{src}' ), SW_SHOW, ewNoWait, erCode );
end;
end;

procedure FormExec();
var
Form: TSetupForm;
begin
Form := CreateCustomForm();
with Form do
try
ClientWidth := ScaleX( 473 );
ClientHeight := ScaleY( 333 );
BorderStyle := bsDialog;
Position := poDesktopCenter;

pEdit := TEdit.Create( Form );
with pEdit do
begin
Parent := Form;
SetBounds( ScaleX( 16 ), ScaleY( 40 ), ScaleX( 441 ), ScaleY( 21 ) );
AutoSelect := False;
Text := '/SILENT';
end;

with TButton.Create( Form ) do
begin
Parent := Form;
SetBounds( ScaleX( 382 ), ScaleY( 300 ), ScaleX( 75 ), ScaleY( 25 ) );
Tag := 0;
Caption := SetupMessage( msgButtonOK );
ModalResult := mrOk;
OnClick := @TButtonOnClick;
end;

ModalResult := ShowModal();
finally

Free;
end;
end;

function InitializeSetup(): Boolean;
begin
FormExec();
Result := False;
end;

acer0072
26-09-2014, 11:09
del

Kashtan007
26-09-2014, 12:34
Ребята у меня в установщике используется шрифт Proto Sans 00, дело в том, что когда установщик открывают в системе где нету шрифта то ставится стандартный Arial. Как упаковать шрифт в установщик, чтобы он отображался даже у тех у кого этот шрифт не установлен?

Заранее спасибо за ответ!

saurn
26-09-2014, 16:31
Kashtan007, в шапке есть примеры El Sanchez (http://forum.oszone.net/member.php?userid=132675)
Свой шрифт в инсталляторе (вариант №1) (http://forum.oszone.net/post-1973652-702.html)
Свой шрифт в инсталляторе (вариант №2) (http://forum.oszone.net/post-1875376-964.html)

Dinvin4ester
27-09-2014, 22:01
Ребята помогите -
http://sendfile.su/1028025
Нужно: из 2-х нерабочих кнопок отмены на страницы инсталлирования, сделать 1 рабочую.




© OSzone.net 2001-2012