Inno Setup (создание инсталяционных пакетов). Часть 1

Статус
В этой теме нельзя размещать новые ответы.
Спасибо всем кто помог...
Вот только как сделать чтоб этот лейбел при нажатии на кнопку "Отменить" скрывался?
 
AlexandR,
NewLabel1.Hide; - Скрыть лайбел
Но при этом создай кнопку и задай обработчик...

Пример

var
NewLabel1: TLabel;
MyButton: TButton;

procedure ButtonOnClick(Sender: TObject);
begin
NewLabel1.Hide;
end;

procedure InitializeWizard();
begin
NewLabel1 := TLabel.Create(WizardForm);
with NewLabel1 do begin
Name := 'NewLabel1';
Parent := WizardForm.InstallingPage;
Transparent := True;
Caption :='Установка игры'
Font.Style:= [fsBold];
Font.Size :=15;
Left := ScaleX(192);
Top := ScaleY(180);
Width := ScaleX(500);
Height := ScaleY(500);
end;

MyButton:=TButton.Create(WizardForm);
with MyButton do begin
Parent:=WizardForm;
Width:=ScaleX(135);
Caption:='Скрыть';
Left:=ScaleX(10);
Top:=WizardForm.cancelbutton.top;
OnClick:=@ButtonOnClick;
end;
end;

Для отмены аналогично:
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
Confirm := False;
Cancel := True;
NewLabel1.Hide;
end;

или

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
Confirm := False;
Cancel := True;
if CurPageID=wpInstalling then begin
NewLabel1.Hide;
end;
end;

Можно по другому:
procedure DeinitializeSetup();
begin
NewLabel1.Hide;
end;
 
Последнее редактирование:
По выше приведенных примерам у меня всеровно не получается скрыть лейбел при нажатии на кнопку "Отменить"...
Извеняюсь не досмотрел одну строчку.
 
Последнее редактирование:
AlexandR, Эмм, на код взглянуть можно?
как вы это всё делали..
 
Как можно сделать чтобы перед запуском инстоллятора выходило сообщение со своим текстом?
 
AlexandR
Ну например так:
Код:
[Setup]
AppName=MyApp
AppverName=MyApp
DefaultDirName={pf}\MyApp

[_Code]
procedure InitializeWizard();
begin
	MsgBox('Мое сообщение', mbInformation, MB_OK);
end;
 
Последнее редактирование:
AlexandR,
Можно примерчик?
Пример:
function MessageBox(hWnd: Integer; lpText, lpCaption: String; uType: Cardinal): Integer; external 'MessageBoxA@user32.dll stdcall';

MessageBox(0, 'Твой текст', 'Заголовок текст', MB_OK or MB_IconError)

P.S.: Иконки в гугле поищи... (MB_IconError - Иконка ошибки)
 
Последнее редактирование:
Можно примерчик?
Код:
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

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

[_Code]
#ifdef UNICODE
  #define A "W"
#else
  #define A "A"
#endif

function MessageBox(hWnd: HWND; lpText, lpCaption: PAnsiChar; uType: LongWord): Integer;
  external 'MessageBox{#A}@user32.dll stdcall';

procedure ExampleButtonClick(Sender: TObject);
begin
  MessageBox(WizardForm.Handle,'Пример MessageBox', 'Название примера', MB_ICONINFORMATION);
end;

procedure InitializeWizard;
begin
  with TButton.Create(WizardForm) do begin
    SetBounds(ScaleX(10), WizardForm.NextButton.Top, WizardForm.NextButton.Width, WizardForm.NextButton.Height);
    Caption:='Пример';
    Parent:=WizardForm;
    OnClick:=@ExampleButtonClick;
  end;
end;
 
AlexandR,Пример:
Код:
function MessageBox(hWnd: Integer; lpText, lpCaption: String; uType: Cardinal): Integer; external 'MessageBoxA@user32.dll stdcall';

 MessageBox(0, 'Твой текст', 'Заголовок текст', MB_OK or MB_IconError)

 P.S.: Иконки в гугле поищи... (MB_IconError - Иконка ошибки)
Ну пускай у меня есть иконка.ico, Как назначить то MB_IconError?
 
Последнее редактирование:
AlexandR, эмм насколько мне не изменяет память, то в MessageBox нельзя загружать свои иконки
 
Последнее редактирование:
Как сделать Заголовок именно к этому примеру?
Код:
[Setup]
AppName=MyApp
AppverName=MyApp
DefaultDirName={pf}\MyApp

[_Code]
procedure InitializeWizard();
begin
	MsgBox('Мое сообщение', mbInformation, MB_OK);
end;
 
AlexandR, эмм насколько мне не изменяет память, то в MessageBox нельзя загружать свои иконки
Код:
function MbIserIcon_Ok(hWin: HWND; Caption, Text: String; IDIcon: DWORD): BOOL;
var
  MsgInfo: TMsgBoxParams;
begin
 with MsgInfo do begin
  lpfnMsgBoxCallback := nil;
  cbSize := SizeOf(TMsgBoxParams);
  hwndOwner := hWin;
  hInstance := GetWindowLong(hWin, GWL_HINSTANCE);
  lpszText := @Text[1];
  lpszCaption := @Caption[1];
  dwStyle := MB_USERICON or MB_TOPMOST or MB_OK;
  lpszIcon := MAKEINTRESOURCE(IDICON);
  dwLanguageId := GetSystemDefaultLangID;
 end;
 Result := MessageBoxIndirect(MsgInfo);
end;
Пример MessageBox со своей иконкой. На дельфи
 
Попробывал пример VinTagE(Ругается на слово MB_IconError):
Код:
function MessageBox(hWnd: Integer; lpText, lpCaption: String; uType: Cardinal): Integer; external 'MessageBoxA@user32.dll stdcall';
procedure InitializeWizard();
begin
MessageBox(0, 'Твой текст', 'Заголовок текст', MB_OK or [COLOR="Red"]MB_IconError[/COLOR]);
end;
А если делать без него то нормально,но уже без иконки...
Код:
function MessageBox(hWnd: Integer; lpText, lpCaption: String; uType: Cardinal): Integer; external 'MessageBoxA@user32.dll stdcall';
procedure InitializeWizard();
begin
MessageBox(0, 'Твой текст', 'Заголовок текст', MB_OK);
end;
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху