AtotIK 580 #207656 Posted August 15, 2014 Вот так: [Tasks] Name: "Tweaker"; Description: "Отключение эффектов:"; Name: "Tweaker\Fog"; Description: "Удалить туман на картах и увеличить дальность видимости"; GroupDescription: "Отключение эффектов:"; Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #207671 Posted August 15, 2014 со скачивание я ни че не понял Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #207679 Posted August 16, 2014 со скачивание я ни че не понял Неудивительно. 1 Quote Share this post Link to post Short link Share on other sites
MEDNIKs 2 #207724 Posted August 16, 2014 Парни подскажите как изменить прогресс бар?Дело в том,что полоса движется не равномерно а иногда сразу же доходит до конца и стоит на месте пока идет копирование . Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #207727 Posted August 16, 2014 (edited) Парни подскажите как изменить прогресс бар?Дело в том,что полоса движется не равномерно а иногда сразу же доходит до конца и стоит на месте пока идет копирование . Есть библиотека для создания кастомного прогресс-бара, но я не юзал её и не знаю, как она будет расчитывать. Я на 90% уверен, что будет так же. Ну сам понимаешь, что абсолютно все файлы (с зависимостью от размера) не могут распаковываться идентично по скорости. По-этому полоса движется относительно общего объёма всех выбранных на установку компонентов. Если в конце остаётся распаковать кучу-кучу мелких файлов (типо твикера), то полоса, понятное дело, замедляется. Edited August 16, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,213 #207728 Posted August 16, 2014 Вообще, чем примитивнее прогресс бар тем лучше, он сам по себе, т.е. анимация его анимация, требует больше времени чем сам процесс копирования мелких файлов, например, если взять 1000 мелких файлов и сделать установку без и с прогрессом, то во втором случае времени на копирование уйдет в несколько раз больше, бывает что и в десятки раз. Это широко известный факт из области ООП. Поэтому чем меньше меньше шагов у прогрессбара тем лучше. Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #207733 Posted August 16, 2014 (edited) Я тут поигрался с ComboBox`ом, и единственный вопрос возник: При переходе на страницу с этим боксом, он отображается так: просто пустой. Но при нажатии на него и выборе какого-то типа - тот отображается нормально.\ Как включить его видимым? Вроде уже все опции перепробовал.. как-то получалось, но два типа, которые я туда поставил, путались.. Решено. ItemIndex, если кому-то понадобится. Edited August 16, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,213 #207735 Posted August 16, 2014 Я тут поигрался с ComboBox`ом, и единственный вопрос возник: При переходе на страницу с этим боксом, он отображается так: 16.108.png просто пустой. Но при нажатии на него и выборе какого-то типа - тот отображается нормально.\ Как включить его видимым? Вроде уже все опции перепробовал.. как-то получалось, но два типа, которые я туда поставил, путались.. У него должно быть свойство ItemIndex типа Integer, если оно задано -1, то ни одно из значений не выбрано, если задано 0, то выбрано первое значение. Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #207736 Posted August 16, 2014 (edited) Kotyarko_O, можно указать что написать в нём: NewComboBox := TNewComboBox.Create(WizardForm); with NewComboBox do begin Name := 'NewComboBox'; Parent := Page.Surface; Left := ScaleX(0); Top := ScaleY(0); Width := ScaleX(417); Height := ScaleY(21); Style := csDropDownList; Text := 'TComboBox'; Items.Text := 'TComboBox'; ItemIndex := 0; end; А выбрать вот так: меняй ItemIndex. Edited August 16, 2014 by AtotIK Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #207737 Posted August 16, 2014 (edited) @StranikS_Scan, @AtotIK, создавал так: TPComboBox := TNewComboBox.Create(TweakerPage); TPComboBox.Parent := TweakerPage.Surface; TPComboBox.Left := WizardForm.TypesCombo.Left; TPComboBox.Top := WizardForm.TypesCombo.Top; TPComboBox.Width := WizardForm.TypesCombo.Width; TPComboBox.Height := WizardForm.TypesCombo.Height; TPComboBox.Style := csDropDownList; TPComboBox.Ctl3D := True; TPComboBox.Items.Add('Конфигурация настроек твикера, рекомендуемая автором сборки.'); TPComboBox.Items.Add('Конфигурация настроек твикера для максимальной производительности.'); TPComboBox.ItemIndex := 0; TPComboBox.OnChange := @TPComboBoxChange; Но изначально, параметр ItemIndex был вписан раньше, чем Items.Add. Вот и не слушалось. Потом догнал, опустил ItemIndex ниже и всё решилось :) Порядок записи иногда важен, я о нём часто забываю. Edited August 16, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,213 #207738 Posted August 16, 2014 Да, он сбрасывается на -1 автоматически, когда редактируется состав пунктов. Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #207739 Posted August 16, 2014 Пока получилось вот так: Как думаете, изображение там не лишнее? Quote Share this post Link to post Short link Share on other sites
XSerzHX 580 #207741 Posted August 16, 2014 (edited) мне кажется лишнее, а само окошко с выбором настроек расширить Edited August 16, 2014 by XSerzHX Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #207751 Posted August 16, 2014 Kotyarko_O, чекаешь хоть так? WizardForm.TasksList.Checked[0] Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #207752 Posted August 16, 2014 (edited) Kotyarko_O, чекаешь хоть так? WizardForm.TasksList.Checked[0] Нет. У меня на отдельно созданной странице. Так что вот так: Procedure TPComboBoxChange(Sender: TObject); begin case TPComboBox.ItemIndex of 0: begin TPBox.Checked[1] := False; TPBox.Checked[2] := True; end; 1: begin TPBox.Checked[1] := True; TPBox.Checked[2] := True; end; end; end; 'вот, для полного представления механизма:' [Files] Source: "MODS\FPS\NO_FOG\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: TPB1; Source: "MODS\FPS\NO_SKYBOXES\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Check: TPB2; [Code] Procedure TPComboBoxChange(Sender: TObject); begin case TPComboBox.ItemIndex of 0: begin TPBox.Checked[1] := True; TPBox.Checked[2] := True; end; 1: begin TPBox.Checked[1] := False; TPBox.Checked[2] := False; end; end; Function CreateTweakerPage(PreviousPageId: Integer): Integer; begin TPComboBox := TNewComboBox.Create(TweakerPage); TPComboBox.Parent := TweakerPage.Surface; TPComboBox.Left := WizardForm.TypesCombo.Left; TPComboBox.Top := WizardForm.TypesCombo.Top; TPComboBox.Width := WizardForm.TypesCombo.Width; TPComboBox.Height := WizardForm.TypesCombo.Height; TPComboBox.Style := csDropDownList; TPComboBox.Items.Add('Конфигурация настроек твикера, рекомендуемая автором сборки.'); TPComboBox.Items.Add('Конфигурация настроек твикера для максимальной производительности.'); TPComboBox.ItemIndex := 0; TPComboBox.OnChange := @TPComboBoxChange; end; Function TPB1(): Boolean; begin Result := TPBox.Checked[1]; end; Function TPB2(): Boolean; begin Result := TPBox.Checked[2]; end; Procedure CreateTweakerPageDO(); begin CreateTweakerPage(wpSelectComponents); end; end; Это основа, по которой можно понять, как работает. з.ы. потом, как дойдут руки снова, объединю функции TPB1, TPB2 и т.д. под одну, чтобы места поменьше занимало. Edited August 16, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #207771 Posted August 16, 2014 (edited) Kotyarko_O, на TaskPage тот же ComponentsList, но видоизменённый. Привести его в нормальный вид ничего не стоит, на TaskPage и размещай свой ComboBox с параметрами. Edited August 16, 2014 by AtotIK Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #207791 Posted August 16, 2014 Kotyarko_O, на TaskPage тот же ComponentsList, но видоизменённый. Привести его в нормальный вид ничего не стоит, на TaskPage и размещай свой ComboBox с параметрами. Я делал две страницы с твикером, для сравнения.. первая как раз на TaskPage, но она мне не понравилась изначально, из-за чего и снёс, оставив текущую, кастомную страницу. Мне пока ничем не мешает. Возможно (опять же, когда снова дойдут руки), перемещу её. Quote Share this post Link to post Short link Share on other sites
JackD1 0 #207800 Posted August 16, 2014 Как замутить кликабельную картинку внизу модпака Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #207805 Posted August 16, 2014 (edited) Как замутить кликабельную картинку внизу модпака #define MyAppURL "www.eee.com" [Files] Source: logo.bmp; Flags: dontcopy noencryption Procedure LogoOnClick(Sender: TObject); var ResCode: Integer; begin ShellExec('', '{#MyAppURL}', '' , '', SW_SHOW, ewNoWait, ResCode); end; Procedure Logo; var BtnPanel: TPanel; BtnImage: TBitmapImage; begin ExtractTemporaryFile('logo.bmp'); BtnPanel:=TPanel.Create(WizardForm); BtnPanel.Left:=0; BtnPanel.Top:=0; BtnPanel.Width:=0; BtnPanel.Height:=0; BtnPanel.Cursor:=crHand; BtnPanel.OnClick:=@logoOnClick; BtnPanel.Parent:=WizardForm; BtnImage:=TBitmapImage.Create(WizardForm); BtnImage.AutoSize:=True; BtnImage.Enabled:=False; BtnImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\logo.bmp'); BtnImage.Parent:=BtnPanel; end; Procedure InitializeWizard(); begin Logo(); end; Только размеры и положения вручную выставь. А то мои координаты тебе не подойдут. Edited August 16, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
JackD1 0 #207807 Posted August 16, 2014 #define MyAppURL "www.eee.com" [Files] Source: logo.bmp; Flags: dontcopy noencryption Procedure LogoOnClick(Sender: TObject); var ResCode: Integer; begin ShellExec('', '{#MyAppURL}', '' , '', SW_SHOW, ewNoWait, ResCode); end; Procedure Logo; var BtnPanel: TPanel; BtnImage: TBitmapImage; begin ExtractTemporaryFile('logo.bmp'); BtnPanel:=TPanel.Create(WizardForm); BtnPanel.Left:=0; BtnPanel.Top:=0; BtnPanel.Width:=0; BtnPanel.Height:=0; BtnPanel.Cursor:=crHand; BtnPanel.OnClick:=@logoOnClick; BtnPanel.Parent:=WizardForm; BtnImage:=TBitmapImage.Create(WizardForm); BtnImage.AutoSize:=True; BtnImage.Enabled:=False; BtnImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\logo.bmp'); BtnImage.Parent:=BtnPanel; end; Procedure InitializeWizard(); begin Logo(); end; Только размеры и положения вручную выставь. А то мои координаты тебе не подойдут. Спасибо Quote Share this post Link to post Short link Share on other sites