Имя пользователя:
Пароль:
 

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

Аватара для Johny777

Ветеран


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

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


Ivan_009,
3 способа:

1. использовать TNewButton с текстом "X" и "-"
(С текстурированием страницей назад можно добиться уровня 2-го способа)
код:
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.


[  Code]
procedure Close_or_Minimize(Sender: TObject);
begin
  case TNewButton(Sender).Caption of
    'X': WizardForm.Close;
    '-': SendMessage(WizardForm.Handle,$112,61472,0);
  end;
end;

procedure InitializeWizard;
begin
  with WizardForm do
  begin
    OuterNotebook.Hide;
    BorderStyle := bsNone;
    Color := $506a5a;
  end;

  with TNewButton.Create(WizardForm) do
  begin
    Parent := WizardForm;
    SetBounds(WizardForm.Width - ScaleX(25),ScaleY(10),ScaleX(16),ScaleY(16));
    Caption := 'X';
    OnClick := @Close_or_Minimize;
    ShowHint := True;
    Hint := 'Закрыть';
  end;

  with TNewButton.Create(WizardForm) do
  begin
    Parent := WizardForm;
    SetBounds(WizardForm.Width - ScaleX(40),ScaleY(10),ScaleX(16),ScaleY(16));
    Caption := '-';
    OnClick := @Close_or_Minimize;
    ShowHint := True;
    Hint := 'Свернуть';
  end;
end;

2. использовать TNewSpeedButton с глифами (советую)
код:
читать дальше »
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.

BitmapResource=Mini:min.bmp|Close:Close.bmp


[  Code]
procedure Close_or_Minimize(Sender: TObject);
begin
  case TNewSpeedButton(Sender).Hint of
    'Закрыть': WizardForm.Close;
    'Cвернуть': SendMessage(WizardForm.Handle,$112,61472,0);
  end;
end;

procedure InitializeWizard;
begin
  with WizardForm do
  begin
    OuterNotebook.Hide;
    BorderStyle := bsNone;
    Color := $506a5a;
  end;

  with TNewSpeedButton.Create(nil) do
  begin
    Parent := WizardForm;
    SetBounds(WizardForm.Width - ScaleX(50),ScaleY(10),ScaleX(16),ScaleY(16));
    Glyph.LoadFromResourceName(HInstance, '_IS_MINI');
    ShowHint := True;
    Hint := 'Cвернуть';
    OnClick := @Close_or_Minimize;
  end;

  with TNewSpeedButton.Create(nil) do
  begin
    Parent := WizardForm;
    ThemeEnabled := False;
    SetBounds(WizardForm.Width - ScaleX(25),ScaleY(10),ScaleX(16),ScaleY(16));
    Glyph.LoadFromResourceName(HInstance, '_IS_CLOSE');
    ShowHint := True;
    Hint := 'Закрыть';
    OnClick := @Close_or_Minimize;
  end;
end;

архив с кодом и картинками-примерами: http://sendfile.su/650884

3. использовать ImageButton (лучший вариант), те картинку с событиями как при текстурировании
извиняй
рисованием мне сейчас заниматься некогда
так что сам попробуй разобрать, будут вопросы спрашивай
пример такой кнопки это: ...\Inno Setup 5\Examples\Example_MouseEvent_ImgBtn.iss
там и наведение и нажатие и пр.
можно такую кнопку навернуть...
... не хуже чем в аэро стиле семёрки (свечение)!
но не думаю, что стоит с ним заморачиваться, если только ты не делаешь инсталл типа StarCraft 2 за авторством South

Последний раз редактировалось Johny777, 17-08-2012 в 04:31.

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

Отправлено: 02:59, 17-08-2012 | #635