Johny777
20-04-2012, 15:42
Temyraz@fb,
ну да если ты хочешь чтобы при отмеченном одном чекбоксе и ли другом распаковать те или иные файлы
Run_A или Run_B можешь по своему назвать для удобства, если хочешь. Только без пробелов
[Files]
Source: {src}\files\*; DestDir: {code:SrcDir}\files\; Flags: ignoreversion recursesubdirs createallsubdirs external; Check: Run_B
Source: {src}\license\*; DestDir: {code:SrcDir}\license\; Flags: ignoreversion recursesubdirs createallsubdirs external; Check: Run_A
PS:
Только для компонентов это не прокатит
Johny777
20-04-2012, 17:28
Ivan_009,
Модуль BASS_Module.iss открываешь, крутишь в самый низ, находишь этот блок и добавляешь строчки, которых у тебя нет »
там же дописываешь эту строчку
procedure BASS_CreateOnOffButton(Parent: TWinControl; Image: String; Left, Top, Width, Height, ShadowWidth: Integer);
begin
......
BtnSetCursor(BASS_OnOffBtn,GetSysCursorHandle(32649)); //установим стандартный курсор OCR_HAND=32649, константы OCR_... ищем в инете
end;
Источник:
...\Inno Setup 5\Modules\South\botva2_example\test19.iss
Johny777
22-04-2012, 00:00
Добрые люди скажите пожалуйста как добавить разделитель во сплывающее меню?
http://img28.imageshack.us/img28/9831/84968533.png (http://imageshack.us/photo/my-images/28/84968533.png/)
NewLine; не помогает
Они, разделители, не так уж важны в моём случае, но помогли бы немного упорядочить айтемы меню :)
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
El Sanchez,
прошу совета!
странное мигание скроллбокса (в частности картинок и ричэдитов) на второй странице и отсутствие анимации при использовании панели (код ниже), работающей через .Repaint; (она вызывается на странице компонентов из выпадающего меню SpeedButton)
наглядный пример - http://sendfile.su/577889
после добавления
const
GWL_EXSTYLE = (-20);
WS_EX_COMPOSITED = $2000000;
function SetWindowLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint; external 'SetWindowLongA@user32.dll stdcall';
function GetWindowLong(Wnd: HWnd; Index: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall';
procedure InitializeWizard;
begin
...
SetWindowLong(WizardForm.Handle, GWL_EXSTYLE, GetWindowLong(WizardForm.Handle, GWL_EXSTYLE) or WS_EX_COMPOSITED)
end;
*(добавил давно а косяки исправить так и не получается)
есть код для выкатывающейся панели через таймер, но с его использованием вылетают непонятные и жуткие ошибки
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[ Code]
var
SettingPanel: TPanel;
SettingPanel_m_Timer,SettingPanel_p_Timer: TTimer;
procedure NewButton1Click(Sender: TObject);
begin
SettingPanel_m_Timer.Enabled:=False; SettingPanel_p_Timer.Enabled:=False;
if SettingPanel.Top<0 then SettingPanel_p_Timer.Enabled:=True;
if SettingPanel.Top>-1 then SettingPanel_m_Timer.Enabled:=True;
end;
procedure PanelTop_p_Timer(Sender: TObject);
begin
SettingPanel.Top:=ScaleY(SettingPanel.Top + 5);
if SettingPanel.Top>-1 then
SettingPanel_p_Timer.Enabled:=False;
end;
procedure PanelTop_m_Timer(Sender: TObject);
begin
SettingPanel.Top:=ScaleY(SettingPanel.Top - 5);
if SettingPanel.Top<-314 then
SettingPanel_m_Timer.Enabled:=False;
end;
procedure InitializeWizard();
begin
SettingPanel_p_Timer := TTimer.Create(WizardForm);
with SettingPanel_p_Timer do
begin
Interval := 1;
Enabled:=False;
OnTimer := @PanelTop_p_Timer;
end;
SettingPanel_m_Timer := TTimer.Create(WizardForm);
with SettingPanel_m_Timer do
begin
Interval := 1;
Enabled:=False;
OnTimer := @PanelTop_m_Timer;
end;
SettingPanel := TPanel.Create(WizardForm);
with SettingPanel do
begin
Parent := WizardForm;
SetBounds(ScaleX(0),ScaleY(-315),ScaleX(497),ScaleY(313));
ParentBackground := False;
end;
with TNewButton.Create(WizardForm) do
begin
Parent := WizardForm;
SetBounds(ScaleX(40),ScaleY(327),ScaleX(75),ScaleY(25))
Caption := 'open';
OnClick := @NewButton1Click;
end;
end;
другой пример использвания таймера привел к тому что он (таймер) не работал (то была проверки на странице выбора директории установки)
речь идёт об этом незамысловатом примере:
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
SolidCompression=yes
Compression=lzma/ultra
PrivilegesRequired=none
OutputDir=userdocs:Inno Setup Examples Output
[ Code]
var
UTimer: TTimer; //Таймер для обновления событий
procedure UpdateTimer(Sender: TObject);
begin
//123 - ваш определённый текст!
if WizardForm.DirEdit.Text='123' then begin
WizardForm.NextButton.Enabled:= False;
end;
if WizardForm.DirEdit.Text='' then begin
WizardForm.NextButton.Enabled:= True;
end;
end;
procedure InitializeWizard;
begin
UTimer:= TTimer.Create(WizardForm);
UTimer.Interval:= 1;
UTimer.OnTimer:= @UpdateTimer;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
UTimer.Enabled:= False;
if CurPageID=wpSelectDir then begin
UTimer.Enabled:= True;
end;
end;
Дело в том что использую innocallback и возможно конфликт идёт с ним
ситуация такая
панель - часть оформления и отказаться от неё было бы не желательно
в данный момент использую эту
procedure Rolling(Sender: TObject);
var
i:integer;
begin
i:=Panel3.Left;
If i= -Panel3.Width then
begin
while True do
begin
if i>0 then i:=0;
Panel3.Left:= ScaleX(i);
/// Panel3.Repaint;
if i=0 then Break;
i:=i+10;
end;
MnuItem.Caption := ExpandConstant('{cm:Console0}');
end
else
begin
while True do
begin
if i<-Panel3.Width then i:=-Panel3.Width;
Panel3.Left:= ScaleX(i);
/// Panel3.Repaint;
if i=-Panel3.Width then Break;
i:=i-10;
end;
MnuItem.Caption := ExpandConstant('{cm:Console1}');
end;
end;
единственное что приходит в голову это
1. я неправильно использую WS_EX_COMPOSITED...
2. нужно вернуться на таймер-панель, но переделанную по innocallback
valyok666
22-04-2012, 23:19
detiedyatosla,
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: Redist; Description: Дополнительное Пограммное Обеспечение:;
Name: Redist\directx; Description: Обновить Microsoft DirectX; Flags: unchecked;
Name: Redist\vcredist_x86_2005SP1; Description: "Установить MS Visual c++ 2005 SP1"; Flags: unchecked;
Name: Redist\vcredist_x86_2008; Description: "Установить MS Visual c++ 2008"; Flags: unchecked;
Name: Redist\dotNetFx40_Full_x86_x64; Description: "Установить Net Framework 4.0"; Flags: unchecked;
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, "&", "&&")}}"; Flags: nowait postinstall skipifsilent
Filename: {src}\Redist\directx.exe; WorkingDir: {src}\Redist\; Parameters: /silent; Tasks: Redist\directx; Flags: waituntilterminated;
Filename: {src}\Redist\vcredist_x86_2005SP1.exe; WorkingDir: {src}\Redist\; Parameters: /silent; Tasks: Redist\vcredist_x86_2005SP1; Flags: waituntilterminated;
Filename: {src}\Redist\vcredist_x86_2008.exe; WorkingDir: {src}\Redist\; Parameters: /silent; Tasks: Redist\vcredist_x86_2008; Flags: waituntilterminated;
Filename: {src}\Redist\netframework.exe; WorkingDir: {src}\Redist\; Parameters: /silent; Tasks: Redist\dotNetFx40_Full_x86_x64; Flags: waituntilterminated;
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.