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

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

Ветеран


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

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


BlackSelf,
1. В сообщение проблема установить свой рисунок, не говоря уже о прозрачности, но можно попробовать создать новую форму, а уже её попытаться сделать полупрозрачной, но даже и при таком раскладе не получится сделать видимым один текст... т.е. чем прозрачней форма, тем тусклее текст.

2. Пример
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
AppPublisherURL=http://www.mycompany.com
AppSupportURL=http://www.mycompany.com
AppUpdatesURL=http://www.mycompany.com
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Files]
Source: compiler:Libraries\BASSMOD.dll; Flags: dontcopy
; указываем музыку, которую надо проиграть
Source: mattis-lowsi_jeti_maah.mod; Flags: dontcopy

[_Code]
const
  BASS_MUSIC_RAMP         = 1;      // normal ramping (only for Fast Tracker .xm)
  BASS_MUSIC_RAMPS        = 2;      // sensitive ramping (only for Fast Tracker .xm)
  BASS_MUSIC_LOOP         = 4;      // loop music
  BASS_MUSIC_FT2MOD       = 16;     // play .MOD as FastTracker 2 does
  BASS_MUSIC_PT1MOD       = 32;     // play .MOD as ProTracker 1 does
  BASS_MUSIC_SURROUND	    = 512;    // surround sound
  BASS_MUSIC_SURROUND2	  = 1024;   // surround sound (mode 2)

function BASSMOD_Init(device: Integer; freq, flags: DWORD): Boolean;
  external 'BASSMOD_Init@files:BASSMOD.dll stdcall delayload';

procedure BASSMOD_MusicFree();
  external 'BASSMOD_MusicFree@files:BASSMOD.dll stdcall delayload';
  
function BASSMOD_MusicLoad(mem: BOOL; f: PChar; offset: DWORD; length: DWORD; flags: DWORD): Boolean;
  external 'BASSMOD_MusicLoad@files:BASSMOD.dll stdcall delayload';

function BASSMOD_MusicPlay(): Boolean;
  external 'BASSMOD_MusicPlay@files:BASSMOD.dll stdcall delayload';

function BASSMOD_MusicGetPosition(): Boolean;
  external 'BASSMOD_MusicGetPosition@files:BASSMOD.dll stdcall delayload';

function BASSMOD_MusicStop(): Boolean;
  external 'BASSMOD_MusicStop@files:BASSMOD.dll stdcall delayload';

function BASSMOD_MusicPause(): Boolean;
  external 'BASSMOD_MusicPause@files:BASSMOD.dll stdcall delayload';

procedure BASSMOD_Free();
external 'BASSMOD_Free@files:BASSMOD.dll stdcall delayload';

procedure PlayButtonOnClick(Sender: TObject);
var
  Name1: string;
begin
  if not BASSMOD_MusicPlay then begin
    Name1:=ExpandConstant('{tmp}\mattis-lowsi_jeti_maah.mod');
    if BASSMOD_MusicLoad(FALSE, PChar(Name1), 0, 0, 4 or 512 or 32 or 1) then
    BASSMOD_MusicPlay;
  end;
end;

procedure PauseButtonOnClick(Sender: TObject);
begin
  BASSMOD_MusicPause;
end;

procedure StopButtonOnClick(Sender: TObject);
begin
  BASSMOD_MusicStop;
  BASSMOD_MusicFree;
end;

procedure InitializeWizard();
var
  Name1: string;
  PlayButton, PauseButton, StopButton, RewButton: TButton;
  Text: TNewStaticText;
  Panel1: TPanel;
begin
  // распаковываем BASSMOD.dll во временную папку
  ExtractTemporaryFile(ExpandConstant('BASSMOD.dll'));
  // распаковываем mattis-lowsi_jeti_maah.mod во временную папку
  ExtractTemporaryFile(ExpandConstant('mattis-lowsi_jeti_maah.mod'));

  if not BASSMOD_Init(-1,44100,0) then begin
    MsgBox('BASSMOD не смогла инициализироваться, проигрывание музыки невозможно.', mbInformation, MB_OK)
    BASSMOD_Free;
  end;

  Name1:= ExpandConstant('{tmp}\mattis-lowsi_jeti_maah.mod');
  BASSMOD_MusicFree;
  if BASSMOD_MusicLoad(FALSE, PChar(Name1), 0, 0, BASS_MUSIC_LOOP or BASS_MUSIC_SURROUND) then
  BASSMOD_MusicPlay;

// создаём панель, на которой будут отбражаться кнопки
  Panel1 := TPanel.Create(WizardForm);
  with Panel1 do begin
    Parent := WizardForm;
    Left := ScaleX(1);
    Top := ScaleY(315);
    Width := ScaleX(165);
    Height := ScaleY(46);
    TabOrder := 0;
    Color := clWhite;
    BevelInner := bvLowered;
    BevelOuter:= bvRaised;
    BorderStyle := bsSingle;
  end;
// создаём три кнопки PlayButton, PauseButton, StopButton и текст Text
  PlayButton := TButton.Create(WizardForm);
  with PlayButton do begin
    Left := 5;
    Top := 335;
    Width := 50;
    Height := 20;
    Caption := 'игра';
    OnClick := @PlayButtonOnClick;
    Parent := WizardForm;
    Cursor := crHand;
    Hint := 'Воспроизведение музыки';
    ShowHint := True;
  end;
  
  PauseButton := TButton.Create(WizardForm);
  with PauseButton do begin
    Left := 58;
    Top := 335;
    Width := 50;
    Height := 20;
    Caption := 'пауза';
    OnClick := @PauseButtonOnClick;
    Parent := WizardForm;
    Cursor := crHand;
    Hint := 'Приостановить музыку';
    ShowHint := True;
  end;
  
  StopButton := TButton.Create(WizardForm);
  with StopButton do begin
    Left := 111;
    Top := 335;
    Width := 50;
    Height := 20;
    Caption := 'cтоп';
    OnClick := @StopButtonOnClick;
    Parent := WizardForm;
    Cursor := crHand;
    Hint := 'Остановить музыку';
    ShowHint := True;
  end;
  
  Text := TNewStaticText.Create(WizardForm);
  with Text do begin
    Caption := 'музыка инсталлятора';
    Parent := WizardForm;
    Font.Style := Text.Font.Style + [fsUnderline];
    Font.Color := clNavy;
    Top := 319;
    Left :=26;
    Color := clWhite;
  end;
end;

3. Не знаю, я с фриарком не знаком.
Мне интересно, что так все носятся с этим фриарком? Мне кажется 7z пакует намного лучше...
Если интересно, в этом сообщении я выкладывал ссылку на библиотеку is7z.dll, для показа хода распаковки 7z архивов во втором прогрессбаре.

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:12, 01-05-2009 | #653