можно подумать у тебя там что-то секретное есть никому твой инсталлятор и даром не нужен, я больше чем уверен.Я говорю, что есть такие, которые ковыряются чтобы ресурсы достать.
можно подумать у тебя там что-то секретное есть никому твой инсталлятор и даром не нужен, я больше чем уверен.Я говорю, что есть такие, которые ковыряются чтобы ресурсы достать.
Он как автор не секретность защищает, а уникальность.можно подумать у тебя там что-то секретное есть
Мне вот например интересно как некоторые вещи там реализованы, а высказывание звучит слегка грубовато.никому твой инсталлятор и даром не нужен
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[Code]
var
About: TNewButton;
ResultCode: Integer;
procedure AboutClick(Sender: TObject);
begin
ShellExec('open', ExpandConstant('{src}\readme.txt'),'','', SW_SHOW, ewNoWait, ResultCode)
end;
procedure InitializeWizard();
begin
About := TNewButton.Create(WizardForm);
with About do
begin
Parent := WizardForm;
Left := ScaleX(16);
Top := ScaleY(325);
Width := ScaleX(75);
Height := ScaleY(25);
Caption := 'О программе';
OnClick := @AboutClick;
end;
end;
Пробовал создать новую кнопку с нужной мне текстурой (button.png), но не знаю как задать для неё действие.наложить текстуру формата .PNG на данную кнопку
var
Test:HWND;
procedure ButtonClicks(hBtn: HWND);
var
ErrorCode: Integer;
begin
ShellExec('open', ExpandConstant ('{src}\1.txt'), '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;
function InitializeSetup:boolean;
begin
if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
if not FileExists(ExpandConstant('{tmp}\CallbackCtrl.dll')) then ExtractTemporaryFile('CallbackCtrl.dll');
Result:=True;
end;
procedure InitializeWizard();
begin
Test:=BtnCreate(WizardForm.Handle,16,325,75,25,PAnsiChar(ExpandConstant('button.png')),0,False);
BtnSetEvent(Test,BtnClickEventID,WrapBtnCallback(@ButtonClicks,1));
BtnSetText(Test,'Тест');
ImgApplyChanges(WizardForm.Handle);
end;
procedure DeinitializeSetup;
begin
gdipShutdown;
end;
#include "Modules\botva2.iss"
var
InfoBtn: HWND;
function InitializeSetup: boolean;
begin
if not FileExists(ExpandConstant('{tmp}\b2p.dll')) then
ExtractTemporaryFile('b2p.dll');
if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then
ExtractTemporaryFile('botva2.dll');
if not FileExists(ExpandConstant('{tmp}\CallbackCtrl.dll')) then
ExtractTemporaryFile('CallbackCtrl.dll');
Result := True;
end;
procedure Info(hBtn:HWND);
var
ResultCode: Integer;
begin
ShellExec('open', ExpandConstant('{src}\readme.txt'),'','', SW_SHOW, ewNoWait, ResultCode)
end;
procedure InitializeWizard;
begin
InfoBtn:=BtnCreate(WizardForm.Handle,ScaleX(10),ScaleY(320),ScaleX(36),ScaleY(36),ExpandConstant('{tmp}\Info.png'),0,True);
BtnSetEvent(InfoBtn,1,WrapBtnCallback(@Info,1));
BtnSetEvent(InfoBtn,BtnClickEventID,WrapBtnCallback(@Info,1));
ImgApplyChanges(WizardForm.Handle);
end;
procedure DeinitializeSetup;
begin
gdipShutdown;
end;
[/SPOILER]
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[Files]
Source: "1.rtf"; DestDir: "{tmp}"; Flags: ignoreversion
[code_]
var
InfoForm: TSetupForm;
Info, Ok: TButton;
InfoBefore: TRichEditViewer;
ReadmeRu: AnsiString;
procedure Okclick(Sender: TObject);
begin
InfoForm.Close;
WizardForm.Enabled:=True;
end;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
begin
WizardForm.Enabled:=true;
end;
procedure InfoClick(Sender: TObject);
begin
InfoForm:= CreateCustomForm();
with InfoForm do begin
ClientWidth := ScaleX(350);
ClientHeight := ScaleY(250);
CenterInsideControl(WizardForm, False);
Caption:='';
onClose:=@FormClose;
Ok:=tbutton.create(InfoForm)
with Ok do begin
SetBounds(ScaleX(290),ScaleY(210),ScaleX(50),ScaleY(30));
parent:=InfoForm;
Caption:='OK';
onclick:=@OKclick;
end;
InfoBefore:= TRichEditViewer.Create(InfoForm);
with InfoBefore do begin
SetBounds(ScaleX(10),ScaleY(10),ScaleX(330),ScaleY(180));
Parent:= InfoForm;
// ParentColor := True;
// Color:= WizardForm.Color;
// BorderStyle:= bsNone;
ScrollBars:= ssVertical;
ReadOnly:= true;
RTFText:= ReadmeRu
end;
InfoForm.Show;
WizardForm.Enabled:=false;
end;
end;
procedure InitializeWizard;
begin
ExtractTemporaryFile('1.rtf');
LoadStringFromFile(ExpandConstant('{tmp}')+'\1.rtf', ReadMeRu);
Info:=tbutton.create(WizardForm);
with Info do begin
Parent:=WizardForm;
SetBounds(ScaleX(80),ScaleY(325),ScaleX(45),ScaleY(30));
Caption:='x';
OnClick:=@InfoClick;
end;
end;
Ну да как бы, но лучше попробовать сделать самому так как лучше усвоится понимание синтаксиса.Или смысл действий такой же?
#include "Modules\botva2.iss"
var
InfoForm: TSetupForm;
Info, Ok: TButton;
InfoBefore: TRichEditViewer;
ReadmeRu: AnsiString;
InfoBtn: HWND;
procedure Okclick(Sender: TObject);
begin
InfoForm.Close;
WizardForm.Enabled:=True;
end;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
begin
WizardForm.Enabled:=true;
end;
function InitializeSetup: boolean;
begin
if not FileExists(ExpandConstant('{tmp}\b2p.dll')) then
ExtractTemporaryFile('b2p.dll');
if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then
ExtractTemporaryFile('botva2.dll');
if not FileExists(ExpandConstant('{tmp}\CallbackCtrl.dll')) then
ExtractTemporaryFile('CallbackCtrl.dll');
Result := True;
end;
procedure InfoCheck(hBtn:HWND);
var
ResultCode: Integer;
begin
InfoForm:= CreateCustomForm();
with InfoForm do begin
ClientWidth := ScaleX(350);
ClientHeight := ScaleY(250);
CenterInsideControl(WizardForm, False);
Caption:='';
onClose:=@FormClose;
Ok:=tbutton.create(InfoForm)
with Ok do begin
SetBounds(ScaleX(290),ScaleY(210),ScaleX(50),ScaleY(30));
parent:=InfoForm;
Caption:='OK';
onclick:=@OKclick;
end;
InfoBefore:= TRichEditViewer.Create(InfoForm);
with InfoBefore do begin
SetBounds(ScaleX(10),ScaleY(10),ScaleX(330),ScaleY(180));
Parent:= InfoForm;
// ParentColor := True;
// Color:= WizardForm.Color;
// BorderStyle:= bsNone;
ScrollBars:= ssVertical;
ReadOnly:= true;
RTFText:= ReadmeRu
end;
InfoForm.Show;
WizardForm.Enabled:=false;
end;
end;
procedure InitializeWizard;
begin
ExtractTemporaryFile('1.rtf');
LoadStringFromFile(ExpandConstant('{tmp}')+'\1.rtf', ReadMeRu);
InfoBtn:=BtnCreate(WizardForm.Handle,ScaleX(10),ScaleY(320),ScaleX(36),ScaleY(36),ExpandConstant('{tmp}\Info.png'),0,True);
BtnSetEvent(InfoBtn,1,WrapBtnCallback(@InfoCheck,1));
BtnSetEvent(InfoBtn,BtnClickEventID,WrapBtnCallback(@InfoCheck,1));
ImgApplyChanges(WizardForm.Handle);
end;
procedure DeinitializeSetup;
begin
gdipShutdown;
end;
[/SPOILER]