PDA

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


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

bugmenotagain
15-05-2012, 21:26
Как сделать следующий порядок страниц
1 - приветствие 2 - выбор компонентов 3 - выбор папки установки
у меня сейчас 1 - приветствие 2 - выбор папки 3 - выбор компонентов

R.i.m.s.k.y.
15-05-2012, 21:36
bugmenotagain, порядок стандартных окон не изменить
Или перерисовывай их

nik1967
15-05-2012, 21:37
Как сделать следующий порядок страниц »
[Setup]
AppName=My program
AppVerName=My program 1.5
DefaultDirName={pf}\My program

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[Components]
Name: WB; Description: 'Мой компьютер' - Настройки; ExtraDiskSpaceRequired: 1048576

[_code]
function OnShouldSkipPage(Sender: TWizardPage): Boolean;
begin
if WizardForm.ComponentsList.Items.Count > 0 then WizardForm.Tag:= 1; // отображаются страницы выбора папки и компонентов
end;

Procedure CurPageChanged(CurPageID: Integer);
Begin
Case CurPageID of
wpSelectDir: if WizardForm.Tag = 1 then
begin
WizardForm.SelectDirPage.Notebook.ActivePage:= WizardForm.SelectComponentsPage;
WizardForm.PageNameLabel.Caption:= SetupMessage(msgWizardSelectComponents)
WizardForm.Hint:= WizardForm.PageDescriptionLabel.Caption; // запомнить SetupMessage(msgSelectDirDesc)
WizardForm.PageDescriptionLabel.Caption:= SetupMessage(msgSelectComponentsDesc)
end;
wpSelectComponents: if WizardForm.Tag = 1 then
begin
WizardForm.SelectComponentsPage.Notebook.ActivePage:= WizardForm.SelectDirPage;
WizardForm.DiskSpaceLabel.Caption:= WizardForm.ComponentsDiskSpaceLabel.Caption;
WizardForm.PageNameLabel.Caption:= SetupMessage(msgWizardSelectDir)
WizardForm.PageDescriptionLabel.Caption:= WizardForm.Hint // иначе вместо названия программы [name]
end;
end;
end;

bugmenotagain
15-05-2012, 21:43
R.i.m.s.k.y., как другие тогда делают порядок?

nik1967, только code нужен?

R.i.m.s.k.y.
15-05-2012, 21:48
как другие тогда делают порядок? »
переопределяют страницы. пишут свои заместо стандартных
Так я думал пока nik1967 не ответил, хе-хе

bugmenotagain
15-05-2012, 21:49
R.i.m.s.k.y., а это сложно свои страницы писать?

nik1967
15-05-2012, 21:51
Это не мой пример. Где то, когда то, у кого то подсмотрел, стыдно признаться не помню у кого, вполне возможно, что и здесь.

R.i.m.s.k.y.
15-05-2012, 21:53
а это сложно свои страницы писать »
для меня - да
Но остальные имеют свое мнение на этот счет
Вообще все сложно когда не знаешь, когда знаешь - все просто.
Для меня к примеру и 1Цэ сложная вещь, потому что нету форума по 1с как по инно :)

bugmenotagain
15-05-2012, 21:56
R.i.m.s.k.y., а что лучше свои нарисовать или стандартные изменить?

где можно почитать про это?

Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы. »
с помощью этой да?

R.i.m.s.k.y.
15-05-2012, 22:08
а что лучше свои нарисовать или стандартные изменить? »
вообще не трогать :)

bugmenotagain
15-05-2012, 22:10
R.i.m.s.k.y., эта хрень даже запускаться не хочет
http://i34.fastpic.ru/big/2012/0515/f7/bf023f4d47064da9999ee397ee60faf7.png (http://fastpic.ru/)

Devils Night
15-05-2012, 23:31
только code нужен? »В основном да, а без него никак.
с помощью этой да? »Ну создать формы можно с помощью неё, плюшек там всяких добавить на страницу, только вот многое сложно будет сделать, особенно когда все тонкости кода не знаешь, надо много, много читать и заучивать чтоб понять.

Johny777
15-05-2012, 23:55
R.i.m.s.k.y.,
у себя тоже давно поменял страницы
только проще
тк компонентов (секции) нет, то и страницы нет
вставил вот таким вот чудесным макаром страничку перед страницей выбора директории установки
http://img685.imageshack.us/img685/6260/77681809.png (http://imageshack.us/photo/my-images/685/77681809.png/)
и создал на ней всё необходимое
есть и другой способ через (взял в во вкладке "поддержка" расширенной версии)

function CreateInputQueryPage(const AfterID: Integer; const ACaption, ADescription, ASubCaption: String): TInputQueryWizardPage;
function CreateInputOptionPage(const AfterID: Integer; const ACaption, ADescription, ASubCaption: String; Exclusive, ListBox: Boolean): TInputOptionWizardPage;
function CreateInputDirPage(const AfterID: Integer; const ACaption, ADescription, ASubCaption: String; AAppendDir: Boolean; ANewFolderName: String): TInputDirWizardPage;
function CreateInputFilePage(const AfterID: Integer; const ACaption, ADescription, ASubCaption: String): TInputFileWizardPage;
function CreateOutputMsgPage(const AfterID: Integer; const ACaption, ADescription, AMsg: String): TOutputMsgWizardPage;
function CreateOutputMsgMemoPage(const AfterID: Integer; const ACaption, ADescription, ASubCaption: String; const AMsg: AnsiString): TOutputMsgMemoWizardPage;
function CreateOutputProgressPage(const ACaption, ADescription: String): TOutputProgressWizardPage;
function CreateCustomPage(const AfterID: Integer; const ACaption, ADescription: String): TWizardPage;
но я с ним не дружу
а работать со своей страницей предельно легко
вот на моём примере

var
ComponentsPage: TWizardPage;
....
procedure InitializeWizard;
begin
ComponentsPage := CreateCustomPage(wpInfoBefore, 'ISCustomPage1_Caption', 'ISCustomPage1_Description');
...
ep1_MainLable := TLabel.Create(WizardForm);
with ep1_MainLable do
begin
Name := 'ep1_MainLable';
Parent := ComponentsPage.Surface;
....
if CurPageID=ComponentsPage.ID then
begin
with WizardForm do
begin
,,,

_______________________________________
касательно смены страниц местами
не знаю насчёт других, но логика моя говорит, что разумнее сначала выбирать "что" и потом говорить "куда", а не наоборот

Ivan_009
16-05-2012, 00:26
Как убрать данную область...

Johny777
16-05-2012, 00:53
это, Ваня, так называемая WizardForm.Caption := 'название'
ищи через ctrl + F
может быть записано и так:
with WizardForm do
begin
Caption := 'Готово';
...
или в процедуре какой

Ivan_009
16-05-2012, 00:58
Johny777 мне нужно полностью удалить эту область не подскажешь как :dont-know

Johny777
16-05-2012, 01:05
Ivan_009,
ну так
WizardForm.Caption := '';
главное кавычки не стирай, а в них ничего не пиши
а можно и без кода обойтись
вот так
[Messages]
SetupWindowTitle=

Ivan_009
16-05-2012, 01:11
Не мне надо, чтобы верхушки вообще не было

Johny777
16-05-2012, 01:14
Не мне надо, чтобы верхушки вообще не было »
оно?

procedure InitializeWizard();
begin
WizardForm.BorderIcons := [];
...

но тогда и иконка и значки "свенуть", "закрыть" слетят

Ivan_009
16-05-2012, 01:25
Почти :) еще бы полоску докучи верхнию убрать полностью




© OSzone.net 2001-2012