botva2

DLL botva2 0.9.9.156

Нет прав для скачивания

sergey3695

Ветеран
Модератор
ashrafonlinenow,
Код:
#include "botva2.iss"
#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "MyProg.exe"

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{4F24FF5F-99B5-4E54-8D45-983F0407A1A9}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
OutputDir=Output

[Languages]
Name: "default"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "files\*"; Flags: dontcopy

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

[ISFormDesigner]
WizardForm=FF0A005457495A415244464F524D0030106B04000054504630F10B5457697A617264466F726D0A57697A617264466F726D0C436C69656E744865696768740368010B436C69656E74576964746803F101134F6E436F6E73747261696E6564526573697A6507144E6577526164696F427574746F6E31436C69636B0C4578706C696369744C65667402000B4578706C69636974546F7002000D4578706C6963697457696474680301020E4578706C69636974486569676874038F010D506978656C73506572496E636802600A54657874486569676874020D00F10C544E65774E6F7465626F6F6B0D4F757465724E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650B57656C636F6D65506167650D4578706C69636974576964746803F1010E4578706C696369744865696768740339010000F110544E65774E6F7465626F6F6B5061676509496E6E6572506167650D4578706C69636974576964746803F1010E4578706C6963697448656967687403390100F10C544E65774E6F7465626F6F6B0D496E6E65724E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650B4C6963656E7365506167650D4578706C69636974576964746803A1010E4578706C6963697448656967687403ED000000F110544E65774E6F7465626F6F6B506167650C55736572496E666F50616765084E65787450616765070D4953437573746F6D50616765310000F110544E65774E6F7465626F6F6B506167650D53656C656374446972506167650C50726576696F757350616765070D4953437573746F6D50616765310D4578706C69636974576964746803A1010E4578706C6963697448656967687403ED00000010544E65774E6F7465626F6F6B506167650D4953437573746F6D50616765310743617074696F6E06154953437573746F6D50616765315F43617074696F6E0B4465736372697074696F6E06194953437573746F6D50616765315F4465736372697074696F6E0C50726576696F757350616765070C55736572496E666F50616765084E65787450616765070D53656C65637444697250616765000F544E6577526164696F427574746F6E0F4E6577526164696F427574746F6E31044C656674021803546F70024005576964746802710648656967687402110743617074696F6E060B4E6F726D616C204D6F646507436865636B656409085461624F7264657202000754616253746F7009074F6E436C69636B07144E6577526164696F427574746F6E31436C69636B00000F544E6577526164696F427574746F6E0F4E6577526164696F427574746F6E32044C656674021803546F7003800005576964746802710648656967687402110743617074696F6E060D506F727461626C65204D6F6465085461624F726465720201074F6E436C69636B07144E6577526164696F427574746F6E32436C69636B0000065450616E656C0650616E656C31044C65667403F10003546F700220055769647468038700064865696768740389000A426576656C4F75746572070662764E6F6E650743617074696F6E060650616E656C31085461624F72646572020200000000000000

[Code]
{ RedesignWizardFormBegin } // Don't remove this line!
// Don't modify this section. It is generated automatically.
var
  img,img2: longint;
  ISCustomPage1: TWizardPage;
  NewRadioButton1: TNewRadioButton;
  NewRadioButton2: TNewRadioButton;
  Panel1: TPanel;

procedure NewRadioButton1Click(Sender: TObject); forward;
procedure NewRadioButton2Click(Sender: TObject); forward;

procedure RedesignWizardForm;
begin
  { Creates custom wizard page }
  ISCustomPage1 := CreateCustomPage(wpUserInfo, 'ISCustomPage1_Caption', 'ISCustomPage1_Description');

  { NewRadioButton1 }
  NewRadioButton1 := TNewRadioButton.Create(WizardForm);
  with NewRadioButton1 do
  begin
    Parent := ISCustomPage1.Surface;
    Left := ScaleX(24);
    Top := ScaleY(64);
    Width := ScaleX(113);
    Height := ScaleY(17);
    Caption := 'Normal Mode';
    Checked := True;
    TabStop := True;
    OnClick := @NewRadioButton1Click;
  end;

  { NewRadioButton2 }
  NewRadioButton2 := TNewRadioButton.Create(WizardForm);
  with NewRadioButton2 do
  begin
    Parent := ISCustomPage1.Surface;
    Left := ScaleX(24);
    Top := ScaleY(128);
    Width := ScaleX(113);
    Height := ScaleY(17);
    Caption := 'Portable Mode';
    OnClick := @NewRadioButton2Click;
  end;

  { Panel1 }
  Panel1 := TPanel.Create(WizardForm);
  with Panel1 do
  begin
    Parent := ISCustomPage1.Surface;
    Left := ScaleX(264);
    Top := ScaleY(24);
    Width := ScaleX(128);
    Height := ScaleY(128);
    BevelOuter := bvNone;
  end;

  NewRadioButton1.TabOrder := 0;
  NewRadioButton2.TabOrder := 1;
  Panel1.TabOrder := 2;
{ ReservationBegin }
  // This part is for you. Add your specialized code here.

{ ReservationEnd }
end;
// Don't modify this section. It is generated automatically.
{ RedesignWizardFormEnd } // Don't remove this line!

procedure NewRadioButton2Click(Sender: TObject);
begin
  ImgSetVisibility(img,false);
  ImgSetVisibility(img2,true);
  ImgApplyChanges(Panel1.Handle);
end;

procedure NewRadioButton1Click(Sender: TObject);
begin
  ImgSetVisibility(img,true);
  ImgSetVisibility(img2,false);
  ImgApplyChanges(Panel1.Handle);
end;

function InitializeSetup:boolean;
begin
  if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
  Result:=true;
end;

procedure InitializeWizard();
begin
  RedesignWizardForm;
  img:=ImgLoad(Panel1.Handle,ExpandConstant('L4D.jpg'),0, 0,ScaleX(128), ScaleY(128),True,True);
  img2:=ImgLoad(Panel1.Handle,ExpandConstant('L4D.jpg'),0, 0,ScaleX(128), ScaleY(128),True,True);
  ImgSetVisibility(img2,false);
  ImgApplyChanges(Panel1.Handle);
end;

procedure DeinitializeSetup();
begin
  gdipShutdown;
end;
 

ashrafonlinenow

Мимокрокодил
what about hide jpg files from temp?
it showing pictures in temp while installing app and p2b.dll how to use it?
what is the difference between
@{tmp}\botva2.dll and @files:botva2.dll
Why there is no more of developing Inno ISCmplr FullVCL for current ver?
 
Последнее редактирование:

sergey3695

Ветеран
Модератор
what about hide jpg files from temp?
it showing pictures in temp while installing app and p2b.dll how to use it?
For b2p need Enhanced IS.
http://krinkels.org/resources/botva2protect.51/
what is the difference between
@{tmp}\botva2.dll and @files:botva2.dll
Equally.
Why there is no more of developing Inno ISCmplr FullVCL for current ver?
Don't know.
 

Andreo Fadio

Старожил
Как добавляется изображение на кастомную страницу созданную средствами inno?
Код:
  StartPage:= CreateCustomPage(wpSelectTasks, '...', '...');
при попытке сделать так:
Код:
  ExtractTemporaryFile('Start.png');
  ImgLoad(StartPage.Surface, ExpandConstant('{tmp}\Start.png'), 0, 0, 125,125, True, True);
  ImgApplyChanges(StartPage.Surface);
ничего не отображается и ошибки при собирание как бы нет.
 

Andreo Fadio

Старожил
var
img:Longint;
begin
img:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\Start.png'), 0, 0, 125,125, True, True);
ImgSetVisibility(img, false);
ImgApplyChanges(WizardForm.Handle);
end;
//procedure CurPageChanged(CurPageID: Integer);
//begin
ImgSetVisibility(img, false);
// if CurPageId=StartPage.Id then
// ImgSetVisibility(img,true);
// ImgApplyChanges(WizardForm.Handle);
//end;
Если делаю так, то на месте картинки - пустота все равно будет.
 

Andreo Fadio

Старожил
И еще один вопросик:
После добавления картинки через библиотеку, на странице чекбоксы (средствами inno) превращаются в какие-то черные полосы.
Это можно как-либо поправить?
Кроме как замены отрисовки изображения через Inno и переписывания чекбоксов через ботву.

 

sergey3695

Ветеран
Модератор
Andreo Fadio, ссылка на сообщение в теме выше. я даже не делал пример ).
 

Darksoul

Новичок
Всем привет. При использовании ботвы в момент прокрутки списка компонентов, а также наведении мыши быстро на несколько компонентов подряд, выделение компонентов как будто подвисает, и выглядит как будто мышь наведена одновременно на несколько компонентов, это как-то можно поправить? В какую сторону копать?
 

zettend

Старожил
Здравствуйте.

Есть TPanel и много IMG
Код:
Procedure CreateWizardImg();
begin
  With WizardForm do begin
    Bevel.Hide;
    InnerNotebook.Hide;
    OuterNotebook.Hide;
    Font.Name := {#FontName};
    BorderStyle := bsNone;
    ClientWidth := ScaleX(780);
    ClientHeight := ScaleY(390);
    Center;
  end;

  EmptyLabel := TLabelCreate(WizardForm, 0, 0, 780, 32, 10, '', {#FontName}, {#FontColor}, [], False, taLeftJustify, nil, @FrameMouseDown);

  Panel1 := TPanel.Create(WizardForm);
  with Panel1 do
  begin
    Parent := WizardForm;
    Left := ScaleX(232);
    Top := ScaleY(180);
    Width := ScaleX(185);
    Height := ScaleY(57);
    BevelOuter := bvNone;
    Caption := 'Panel1';
    Color := clRed;
    ParentBackground := False;
  end;

  MainBg := ImgLoad(WizardForm.Handle, 'BG-1.png', ScaleX(0), ScaleY(0), ScaleX(780), ScaleY(390), True, True);
  DirBg := ImgLoad(WizardForm.Handle, 'bg-dir.png', ScaleX(0), ScaleY(0), ScaleX(780), ScaleY(390), True, True);

  TopLine := ImgLoad(WizardForm.Handle, 'topLine.png', ScaleX(0), ScaleY(31), ScaleX(780), ScaleY(1), True, True);

  ImgLoad(WizardForm.Handle, 'Avatar.png', ScaleX(12), ScaleY(43), ScaleX(26), ScaleY(26), True, True);

  dirFrame := ImgLoad(WizardForm.Handle, 'dirFrame.png', ScaleX(71), ScaleY(152), ScaleX(444), ScaleY(36), True, True);
  compFrame := ImgLoad(WizardForm.Handle, 'compFrame.png', ScaleX(71), ScaleY(218), ScaleX(444), ScaleY(128), True, True);
  diskFrame := ImgLoad(WizardForm.Handle, 'diskFrame.png', ScaleX(529), ScaleY(218), ScaleX(180), ScaleY(82), True, True);

  Cover := ImgLoad(WizardForm.Handle, 'Cover.png', ScaleX(53), ScaleY(87), ScaleX(190), ScaleY(268), True, True);
  InfoImgLabel := ImgLoad(WizardForm.Handle, 'sizeFrame.png', ScaleX(469), ScaleY(297), ScaleX(63), ScaleY(36), True, True);

  Line1 := ImgLoad(WizardForm.Handle, 'line.png', ScaleX(272), ScaleY(108), ScaleX(30), ScaleY(2), True, True);
  Line2 := ImgLoad(WizardForm.Handle, 'line.png', ScaleX(170), ScaleY(139), ScaleX(30), ScaleY(2), True, True);
  Line3 := ImgLoad(WizardForm.Handle, 'line.png', ScaleX(170), ScaleY(205), ScaleX(30), ScaleY(2), True, True);
  Line4 := ImgLoad(WizardForm.Handle, 'line.png', ScaleX(628), ScaleY(205), ScaleX(30), ScaleY(2), True, True);
  Line5 := ImgLoad(WizardForm.Handle, 'line.png', ScaleX(70), ScaleY(108), ScaleX(30), ScaleY(2), True, True);

  ImgApplyChanges(WizardForm.Handle);
end;
Как его заставить работать под картинкой?

Сейчас это выглядит так:
Снимок экрана 2019-12-30 в 14.07.29.png
Панель перекрывает всё.
 

Nemko

Дилетант
Модератор
Incorrect, если я правильно понимаю в терминологии, нужно сделать сабклассинг TPanel через WinApi, дабы пример South оставил и если я правильно делаю то пример прикрепил (если есть в этом смысл, так ка сложно, тем более если основ не понимать):
 

Вложения

  • 98.4 KB Просмотры: 47

Xabib2302

Новичок
Доброе время суток. Не работает ботва на новом inno от Leserg'а.
 

Вложения

  • 2.7 MB Просмотры: 28

Andreo Fadio

Старожил
Доброе время суток. Не работает ботва на новом inno от Leserg'а.
Работает... Не наговаривайте.
Поменяйте у себя это:
Код:
lPicHandle := ImgLoad(MainPanel.Handle, ExpandConstant('{tmp}\WMSI.png'), WizardSmallBitmapImage.Left, WizardSmallBitmapImage.Top, WizardSmallBitmapImage.Width, WizardSmallBitmapImage.Height, True, True);
на это:
Код:
lPicHandle := ImgLoad(MainPanel.Handle, ExpandConstant('{tmp}\WMSI.png'), WizardSmallBitmapImage.Left, WizardSmallBitmapImage.Top, WizardSmallBitmapImage.Width, WizardSmallBitmapImage.Height, True, False);
 

InstallationWay

Новичок
It seems I have found a bug, If you try to disable a Checked Checkbox, the Checked state will go!

CheckBox2: = CheckBoxCreate (Handle, ScaleX (102), ScaleY (384), ScaleX (86), ScaleX (14), 'CNEKBOX.png', 0, 3);
CheckBoxSetChecked (CheckBox2, True);
CheckBoxSetEnabled (CheckBox2, False);
How to solve this issue?
 
Сверху