[Files]
Source: File.txt; DestDir: {app}; Flags: overwritereadonly; [B]Attribs: readonly[/B]
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
DisableFinishedPage=yes
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
[_Code]
function GetFileAttributes(lpFileName: string): integer;
external 'GetFileAttributesA@kernel32.dll stdcall';
function SetFileAttributes(lpFileName: string; dwFileAttributes: integer): integer;
external 'SetFileAttributesA@kernel32.dll stdcall';
procedure InitializeWizard();
var
FileName: string;
begin
FileName:= 'E:\новая папка';
SetFileAttributes(FileName, FILE_ATTRIBUTE_HIDDEN);
end;
Я убирал иконку, заменой ее на прозрачную, вот недавно опять сел за SkinBuilder и решил у tiger.cjstyles с моими "модификациями" поменять CaptionButtons: Minimize,Maximize и Close, кнопка расширения окна не активна, пытался в скине ее убрать и сворачивания сдвинуть к кнопке закрытия, не получилось! И тут навеяла вот такая идейка: скрыть все к чертям и лишнюю иконку убрать из скрипта, а эти две кнопки создать и поместить куда тебе заблагорассудится))RameR, тебе нужно убрать иконку только?
Я заменил картинки, изменил значения в скине и сохранил, просто когда кнопку разворачивания в скине удаляешь, все норм! А вот когда смешаешь кнопку сворачивания на место удаленной, место клика на нее остается на прежнем месте, то есть ты наводишь на то место где она она была и подсвечивается перемещенная!!!RameR,так в факе есть пример. Просто отредактируй скин. Замени картинку сворачивания на разворачивание. А саму картинку сворачивания удали,ну и не забудь сохранить изменения.
function GetSystemMetrics(nIndex: Integer): Integer;
external 'GetSystemMetrics@user32.dll stdcall';
var
MyCheck: TCheckBox;
procedure StandartForm();
begin
with WizardForm do
begin
ClientWidth := ScaleX(497);
ClientHeight := ScaleY(360);
Center;
Bevel.Show;
Bevel1.Show;
MainPanel.Show;
with InnerNotebook do
begin
Left := ScaleX(40);
Top := ScaleY(72);
Width := ScaleX(417);
end;
with StatusLabel do
Width := ScaleX(417);
with FileNameLabel do
begin
ScaleY(16);
Width := ScaleX(417);
end;
with ProgressGauge do
begin
Top := ScaleY(42);
Width := ScaleX(417);
end;
with CancelButton do
begin
Left := ScaleX(412);
Top := ScaleY(327);
end;
end;
with MyCheck do
Top := ScaleY(330);
end;
procedure MyNewForm();
begin
with WizardForm do
begin
ClientWidth := ScaleX(295);
ClientHeight := ScaleY(70);
Left := GetSystemMetrics(16) - ClientWidth - ScaleX(8);
Top := GetSystemMetrics(17) - ClientHeight - ScaleY(8);
Bevel.Hide;
Bevel1.Hide;
MainPanel.Hide;
with InnerNotebook do
begin
Left := ScaleX(1);
Top := ScaleY(2);
Width := WizardForm.ClientWidth - ScaleX(0);
end;
with StatusLabel do
Width := InnerNotebook.Width;
with FileNameLabel do
begin
Top := ScaleY(0);
Width := InnerNotebook.Width;
end;
with ProgressGauge do
begin
Top := ScaleY(20);
Left := ScaleX(1);
Width:=4
Height:=19
Width := InnerNotebook.Width;
end;
with CancelButton do
begin
Left := WizardForm.ClientWidth div 2 - CancelButton.Width div 2;
Top := WizardForm.ClientHeight - CancelButton.Height - ScaleY(10);
BringToFront;
Left := ScaleX(200);
Top := ScaleY(45);
Width := WizardForm.ClientWidth - ScaleX(211);
end;
end;
with MyCheck do
Top := WizardForm.CancelButton.Top;
end;
procedure GetWizardForm(Sender: TObject);
begin
if MyCheck.Checked then
MyNewForm()
else
StandartForm();
end;
procedure InitializeWizard();
begin
MyCheck := TCheckBox.Create(WizardForm);
with MyCheck do
begin
Left := ScaleX(5);
Top := ScaleY(330);
Width := ScaleX(150);
Caption := 'Компактний режим';
OnClick := @GetWizardForm;
Parent := WizardForm;
end;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
MyCheck.Hide;
if CurPageID = wpInstalling then
MyCheck.Show;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then
MyCheck.Checked := False;
end; [/SOURCE][/SPOILER][SPOILER="Вариант 2:"][SOURCE="inno"][Setup]
AppName=My Program
AppVerName=My Program
DefaultDirName={pf}\My Program
OutputDir=.
[Files]
Source: {sys}\*.dll; DestDir: {app}; Flags: external deleteafterinstall;
[code]
function GetSystemMetrics(nIndex: Integer): Integer;
external 'GetSystemMetrics@user32.dll stdcall';
var
MyCheck: TCheckBox;
procedure StandartForm();
begin
with WizardForm do
begin
ClientWidth := ScaleX(497);
ClientHeight := ScaleY(360);
Center;
Bevel.Show;
Bevel1.Show;
MainPanel.Show;
with InnerNotebook do
begin
Left := ScaleX(40);
Top := ScaleY(72);
Width := ScaleX(417);
end;
with StatusLabel do
Width := ScaleX(417);
with FileNameLabel do
begin
ScaleY(16);
Width := ScaleX(417);
end;
with ProgressGauge do
begin
Top := ScaleY(42);
Width := ScaleX(417);
end;
with CancelButton do
begin
Left := ScaleX(412);
Top := ScaleY(327);
end;
end;
with MyCheck do
Top := ScaleY(330);
end;
procedure MyNewForm();
begin
with WizardForm do
begin
ClientWidth := ScaleX(395);
ClientHeight := ScaleY(120);
Left := GetSystemMetrics(16) - ClientWidth - ScaleX(8);
Top := GetSystemMetrics(17) - ClientHeight - ScaleY(8);
Bevel.Hide;
Bevel1.Hide;
MainPanel.Hide;
with InnerNotebook do
begin
Left := ScaleX(10);
Top := ScaleY(10);
Width := WizardForm.ClientWidth - ScaleX(20);
end;
with StatusLabel do
Width := InnerNotebook.Width;
with FileNameLabel do
begin
Top := ScaleY(20);
Width := InnerNotebook.Width;
end;
with ProgressGauge do
begin
Top := ScaleY(40);
Width := InnerNotebook.Width;
end;
with CancelButton do
begin
Left := WizardForm.ClientWidth div 2 - CancelButton.Width div 2;
Top := WizardForm.ClientHeight - CancelButton.Height - ScaleY(10);
BringToFront;
end;
end;
with MyCheck do
Top := WizardForm.CancelButton.Top;
end;
procedure GetWizardForm(Sender: TObject);
begin
if MyCheck.Checked then
MyNewForm()
else
StandartForm();
end;
procedure InitializeWizard();
begin
MyCheck := TCheckBox.Create(WizardForm);
with MyCheck do
begin
Left := ScaleX(10);
Top := ScaleY(330);
Width := ScaleX(150);
Caption := 'Компактный размер';
OnClick := @GetWizardForm;
Parent := WizardForm;
end;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
MyCheck.Hide;
if CurPageID = wpInstalling then
MyCheck.Show;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then
MyCheck.Checked := False;
end; [/SOURCE][/SPOILER]