Вопрос Как создать новую форму инсталлятора ?

Статус
В этой теме нельзя размещать новые ответы.

EvilAlex

Старожил
Доброго времени суток!

Подскажите пожалуйста. есть ли у кого-то скрипт с пустой формой нового инсталлятора, то бишь без чек-боксов. кнопок и надписей...

Чтобы при запуске вылазил пустой прямоугольник или квадрат. как вам нравиться больше)))
В который в дальнейшем можно было бы сделать свои кнопки. чек-боксы и так далее...

Если таковой имеется, буду благодарен если поделитесь, заранее спасибо !
 

Kotyarko_O

Новичок
Чтобы при запуске вылазил пустой прямоугольник или квадрат
Для этого не так много надо делать)
Хватит этого:
Код:
Procedure InitializeWizard();
begin
 with WizardForm do
 begin
  InnerNotebook.Hide;
  OuterNotebook.Hide;
  Bevel.Hide;
 end;
end;

Procedure CurPageChanged(CurPageID: Integer);
begin
 with WizardForm do
 begin
  BackButton.Hide;
  NextButton.Hide;
  CancelButton.Hide;
 end;
end;
p.s. при скрытии CancelButton программа закрывается только через Диспетчер.
 

EvilAlex

Старожил
Я просто хотел скрыть все, и сделать картинки, а на них уже все остальное... Этот подойдет ?
 

EvilAlex

Старожил
Спасибо ! Будем пробовать))

Собственно было интересно как саму форму сделать без рамки, на которую можно уже картинки и т.д. добавлять, скрыть та я могу, вот форму не могу сделать, примеры видел, но что и откуда там выдергивать, я не знаю... Вот если бы кто дал чистый скрипт с формой)))
 
Последнее редактирование:

EvilAlex

Старожил
Вот что получилось,
Код:
#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."

#define MyAppExeName "MyProg.exe"

[Setup]
;AppId={{7C6E52BA-50F9-4F71-B9E3-57F88F07D9F8}

AppName={#MyAppName}
AppVersion={#MyAppVersion}

AppPublisher={#MyAppPublisher}

DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}

InternalCompressLevel=ultra64
Compression=lzma2/ultra64
SolidCompression=true

OutputDir=.\Released
OutputBaseFilename=Setup

[Files]
Source: Files\WFP.bmp; DestDir: {tmp}; Flags: dontcopy

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

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Code]
procedure CreateWizardForm;
begin
  with WizardForm do begin
  BorderStyle:=bsNone;
  ClientWidth := ScaleX(800);
  ClientHeight := ScaleY(492);

  InnerNotebook.Hide;
  OuterNotebook.Hide;
  Bevel.Hide;
  NextButton.Width:=0;
  CancelButton.Width:=0;
end;
ExtractTemporaryFile('WFP.bmp');

WizardForm.WizardBitmapImage.SetBounds(ScaleX(0), ScaleY(0), ScaleX(800), ScaleY(440));
WizardForm.WizardBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\WFP.bmp'));
WizardForm.WizardBitmapImage.Parent:= WizardForm;
end;


procedure InitializeWizard();
begin
  CreateWizardForm;
end;

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

Код:
procedure CreateWizardForm;
begin
  with WizardForm do begin
  WizardForm.BorderStyle:=bsNone;
  WizardForm.ClientWidth:=465;
  WizardForm.ClientHeight:=350;

  WizardForm.InnerNotebook.Hide;
  WizardForm.OuterNotebook.Hide;
  WizardForm.Bevel.Hide;
  WizardForm.NextButton.Width:=0;
  WizardForm.CancelButton.Width:=0;
end;

  Wizard1:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}')+'\fon.png',0,0,WizardForm.ClientWidth, WizardForm.ClientHeight,True,True);

  //fon1:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}')+'\fon1.png',9,9,601,100,True,True);
  //fon2:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}')+'\fon2.png',5,36,455,279,True,True);

  Folder1:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}')+'\SelectDir.png',30,107,345, 32,True,True);
  Folder2:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}')+'\SelectDir.png',30,187,345, 32,True,True);

  OldMinimizeAnimation:=GetMinimizeAnimation;
  SetMinimizeAnimation(True);
  ImgApplyChanges(WizardForm.Handle);

  SetWindowLong2(WizardForm.Handle,-20,GetWindowLong(WizardForm.Handle,-20) or $80000);
  SetLayeredWindowAttributes(WizardForm.Handle,$00FF00,0,1);
end;

procedure CreateFrame;
begin
  Frame:=TForm.Create(nil);
  Frame.BorderStyle:=bsNone;
  CreateFormFromImage(Frame.Handle,ExpandConstant('{tmp}\frame.png'));
  with TLabel.Create(Frame) do begin
    Parent:=Frame;
    AutoSize:=False;
    Left:=0;
    Top:=0;
    Width:=Frame.CLientWidth;
    Height:=Frame.ClientHeight;
    OnMouseDown:=@FrameMouseDown;
  end;
  WizardForm.Left:=Frame.Left;
  WizardForm.Top:=Frame.Top;
  WFOldProc:=SetWindowLong(WizardForm.Handle,-4,WndProcCallBack(@WFProc,4));
  Frame.Show;
  with TLabel.Create(WizardForm) do begin
    Parent:=WizardForm;
    AutoSize:=False;
    Left:=0;
    Top:=1;
    Transparent:= true;
    WordWrap:= true;
    Width:=WizardForm.ClientWidth;
    Height:=37;
    OnMouseDown:=@FrameMouseDown;
    Cursor := crHand;
  end;
end;

procedure WFDeInit;
begin
  Frame.Visible:=False;
  WizardForm.Visible:=False;
  SetWindowLong(WizardForm.Handle,-4,WFOldProc);
  Frame.Free;
end;

Но как реализовать это в том примере ? кнопки и чекбоксы я думаю что знаю как добавить, а вот как создать эту форму ...
 
  • Like
Реакции: Adil
Статус
В этой теме нельзя размещать новые ответы.
Сверху