Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Gnom_aka_Lexander

Ветеран


Сообщения: 978
Благодарности: 564

Профиль | Сайт | Отправить PM | Цитировать


my-94, у тебя получается, только если написать за тебя?
читать дальше »
Код: Выделить весь код
[Setup]
AppId={{4E7C4AAA-6115-4228-B387-707B52DDCD89}
AppName=My Program
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
Compression=lzma
SolidCompression=no
;disablereadypage=true

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

[Messages]
BeveledLabel=111

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

[Files]
Source: Office2007.cjstyles; DestDir: {tmp}; Flags: dontcopy nocompression
Source: ISSkin.dll; DestDir: {tmp}; Flags: dontcopy nocompression
source: 1.bmp; DestDir: {tmp}; Flags: dontcopy nocompression
Source: isgsg.dll; DestDir: {tmp}; Flags: dontcopy nocompression
Source: splash.png; DestDir: {tmp}; Flags: dontcopy nocompression

[_Code]
var
  AboutButton, CancelButton, URLButton: TButton;
  BackgroundBitmapImage: TBitmapImage;
  BackgroundBitmapText: TNewStaticText;
  BmpFile: TBitmapImage;

procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';

procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';

procedure ShowSplashScreen(p1:HWND;p2:string;p3,p4,p5,p6,p7:integer;p8:boolean;p9:Cardinal;p10:integer); external 'ShowSplashScreen@files:isgsg.dll stdcall delayload';

function InitializeSetup(): Boolean;
begin
 ExtractTemporaryFile('Office2007.cjstyles');
 LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), '');
 Result := True;
end;

procedure DeinitializeSetup();
begin
 UnloadSkin();
end;

procedure AboutButtonOnClick(Sender: TObject);
begin
  MsgBox('Это демо версия программы.', mbInformation, mb_Ok);
end;

procedure URLLabelOnClick(Sender: TObject);
var
  ErrorCode: Integer;
begin
  ShellExec('open', 'http://forum.ru-board.com/topic.cgi?forum=5&topic=35848&start=40#lt', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;

procedure InitializeWizard();
begin
ExtractTemporaryFile('1.bmp'); //Извлекаем файл, который пойдет в окно инсталлятора
//Вставляем изображение в окно инсталлятора, для каждой страницы нужно добвлять изображение заново
ExtractTemporaryFile('splash.png');
BmpFile:= TBitmapImage.Create(WizardForm);
with BmpFile do begin
Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
SetBounds(ScaleX(0), ScaleY(0), ScaleX(497), ScaleY(313));
Stretch:= true;
Parent:= WizardForm.WelcomePage;
end;

BmpFile:= TBitmapImage.Create(WizardForm);
with BmpFile do begin
Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
SetBounds(ScaleX(0), ScaleY(0), ScaleX(497), ScaleY(313));
Stretch:= true;
Parent:= WizardForm.FinishedPage;
end;

ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\splash.png',1000,3000,1000,0,255,False, $FFFFFF,10);

with WizardForm do
begin
WelcomeLabel1.Hide;
WelcomeLabel2.Hide;
FinishedHeadingLabel.Hide;
FinishedLabel.Hide;
end;
begin
with WizardForm.NextButton do
begin
Left := ScaleX(175);
end;
  CancelButton := WizardForm.CancelButton;
  AboutButton := TButton.Create(WizardForm);
  with AboutButton do begin
  Left := WizardForm.ClientWidth - CancelButton.Left - CancelButton.Width;
  Top := CancelButton.Top;
  Width := CancelButton.Width;
  Height := CancelButton.Height;
  Caption := '&Repack info';
  OnClick := @AboutButtonOnClick;
  Parent := WizardForm;
  end;

  URLButton := TButton.Create(WizardForm);
  with URLButton do begin
  Left := AboutButton.Left + AboutButton.Width + ScaleX(10);
  Top := CancelButton.Top;
  Width := CancelButton.Width;
  Height := CancelButton.Height;
  Caption := 'Сайт';
  OnClick := @URLLabelOnClick;
  Parent := WizardForm;
end;
  end;
  BackgroundBitmapImage := TBitmapImage.Create(MainForm);
  BackgroundBitmapImage.Left := ScaleX(50);
  BackgroundBitmapImage.Top := ScaleY(100);
  BackgroundBitmapImage.AutoSize := True;
  BackgroundBitmapImage.Bitmap := WizardForm.WizardBitmapImage.Bitmap;
  BackgroundBitmapImage.Parent := MainForm;

  BackgroundBitmapText := TNewStaticText.Create(MainForm);
  BackgroundBitmapText.Left := BackgroundBitmapImage.Left;
  BackgroundBitmapText.Top := BackgroundBitmapImage.Top + BackgroundBitmapImage.Height + ScaleY(8);
  BackgroundBitmapText.Caption := 'TBitmapImage';
  BackgroundBitmapText.Parent := MainForm;
end;

Procedure CurPageChanged(CurPageID: Integer);
Begin
  if CurPageID <> wpWelcome then begin
  AboutButton.Hide; URLButton.Hide end else begin
  AboutButton.Show; URLButton.Show; end;
end;

выделил

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Последний раз редактировалось Gnom_aka_Lexander, 22-02-2011 в 21:48.


Отправлено: 21:35, 22-02-2011 | #863