botva2

DLL botva2 0.9.9.156

Нет прав для скачивания
  • Автор темы Автор темы South
  • Дата начала Дата начала
:D http://krinkels.org/resources/botva2.47/
Код:
;Created by South.Tver 02.2010

;пример работы с BtnGetText, BtnSetText, BtnSetFontColor, BtnSetTextAlignment

#include "Modules\botva2.iss"

[Setup]
AppName=BtnPrint by South.Tver
AppVerName=BtnPrint by South.Tver
DefaultDirName={pf}\BtnPrint
OutputBaseFilename=setup

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

[Code]
var
  hBtn:HWND;
  Form: TSetupForm;

procedure BtnClick(hBtn:HWND);
begin
  Form.ShowModal;
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');
  if not FileExists(ExpandConstant('{tmp}\CallbackCtrl.dll')) then ExtractTemporaryFile('CallbackCtrl.dll');
  if not FileExists(ExpandConstant('{tmp}\button2.png')) then ExtractTemporaryFile('button2.png');
  if not FileExists(ExpandConstant('{tmp}\1.png')) then ExtractTemporaryFile('1.png');
  Result:=True;
end;

#ifdef UNICODE
#define A "W"
#else
#define A "A"
#endif

const
  GWL_WNDPROC = -4;
  WM_NCLBUTTONDOWN = $00A1;
type
  LPARAM = Integer;
  WPARAM = Integer;
  LRESULT = Integer;
  TFNWndProc = Integer;
var
  OldWindowProc: Longint;

function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; external 'SetWindowLong{#A}@user32.dll stdcall';
function CallWindowProc(lpPrevWndFunc: TFNWndProc; hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; external 'CallWindowProc{#A}@user32.dll stdcall';

function WindowProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT;
begin
case Msg of
  WM_NCLBUTTONDOWN:
begin
  Msg := 0;
if Form.Visible then
  Form.Close;
end;
end;
  Result := CallWindowProc(OldWindowProc, hWnd, Msg, wParam, lParam);
end;

procedure InitializeWizard;
begin
  with WizardForm do begin
    InnerNotebook.Hide;
    OuterNotebook.Hide;
    Bevel.Hide;
    Width:= ScaleX(700);
    Height:= ScaleY(700);
    NextButton.Top:=ClientHeight-ScaleY(50);
    CancelButton.Top:=ClientHeight-ScaleY(50);
  end;
    Form := CreateCustomForm;
  with Form do
  begin
    Width := ScaleX(750);
    Height := ScaleY(375);
    CenterInsideControl(WizardForm, False);
  end;
  CreateFormFromImage(Form.Handle,ExpandConstant('{tmp}\1.png'));
  ImgApplyChanges(Form.Handle);
  OldWindowProc := SetWindowLong(Form.Handle, GWL_WNDPROC, CallbackAddr('WindowProc'));

  hBtn:= BtnCreate(WizardForm.Handle,-50,-50,WizardForm.ClientWidth+100,WizardForm.ClientHeight+100,ExpandConstant('{tmp}\button2.png'),18,True);
  BtnSetFontColor(hBtn,$DAE369,$FF0000,$00FF00,$0000FF);
  BtnSetEvent(hBtn,BtnClickEventID,WrapBtnCallback(@BtnClick,1));
end;

procedure DeinitializeSetup;
begin
  SetWindowlong(Form.Handle, GWL_WNDPROC, OldWindowProc);
  gdipShutdown;
end;
Во вложении пример.
 

Вложения

Последнее редактирование:
:D http://krinkels.org/resources/botva2.47/
Код:
;Created by South.Tver 02.2010

;пример работы с BtnGetText, BtnSetText, BtnSetFontColor, BtnSetTextAlignment

#include "Modules\botva2.iss"

[Setup]
AppName=BtnPrint by South.Tver
AppVerName=BtnPrint by South.Tver
DefaultDirName={pf}\BtnPrint
OutputBaseFilename=setup

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

[Code]
var
  hBtn:HWND;
  Form: TSetupForm;

procedure BtnClick(hBtn:HWND);
begin
  Form.ShowModal;
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');
  if not FileExists(ExpandConstant('{tmp}\CallbackCtrl.dll')) then ExtractTemporaryFile('CallbackCtrl.dll');
  if not FileExists(ExpandConstant('{tmp}\button2.png')) then ExtractTemporaryFile('button2.png');
  if not FileExists(ExpandConstant('{tmp}\1.png')) then ExtractTemporaryFile('1.png');
  Result:=True;
end;

#ifdef UNICODE
#define A "W"
#else
#define A "A"
#endif

const
  GWL_WNDPROC = -4;
  WM_NCLBUTTONDOWN = $00A1;
type
  LPARAM = Integer;
  WPARAM = Integer;
  LRESULT = Integer;
  TFNWndProc = Integer;
var
  OldWindowProc: Longint;

function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; external 'SetWindowLong{#A}@user32.dll stdcall';
function CallWindowProc(lpPrevWndFunc: TFNWndProc; hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; external 'CallWindowProc{#A}@user32.dll stdcall';

function WindowProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT;
begin
case Msg of
  WM_NCLBUTTONDOWN:
begin
  Msg := 0;
if Form.Visible then
  Form.Close;
end;
end;
  Result := CallWindowProc(OldWindowProc, hWnd, Msg, wParam, lParam);
end;

procedure InitializeWizard;
begin
  with WizardForm do begin
    InnerNotebook.Hide;
    OuterNotebook.Hide;
    Bevel.Hide;
    Width:= ScaleX(700);
    Height:= ScaleY(700);
    NextButton.Top:=ClientHeight-ScaleY(50);
    CancelButton.Top:=ClientHeight-ScaleY(50);
  end;
    Form := CreateCustomForm;
  with Form do
  begin
    Width := ScaleX(750);
    Height := ScaleY(375);
    CenterInsideControl(WizardForm, False);
  end;
  CreateFormFromImage(Form.Handle,ExpandConstant('{tmp}\1.png'));
  ImgApplyChanges(Form.Handle);
  OldWindowProc := SetWindowLong(Form.Handle, GWL_WNDPROC, CallbackAddr('WindowProc'));

  hBtn:= BtnCreate(WizardForm.Handle,-50,-50,WizardForm.ClientWidth+100,WizardForm.ClientHeight+100,ExpandConstant('{tmp}\button2.png'),18,True);
  BtnSetFontColor(hBtn,$DAE369,$FF0000,$00FF00,$0000FF);
  BtnSetEvent(hBtn,BtnClickEventID,WrapBtnCallback(@BtnClick,1));
end;

procedure DeinitializeSetup;
begin
  SetWindowlong(Form.Handle, GWL_WNDPROC, OldWindowProc);
  gdipShutdown;
end;
Во вложении пример.
О знакомый ник , кстати я перепроверил тот скрипт , чучуть розобрался но все ровно ошибка , но другого характера
оо
 

Вложения

  • 2015-01-19 22-59-59 Скриншот экрана.png
    2015-01-19 22-59-59 Скриншот экрана.png
    172.3 KB · Просмотры: 105
Как программно нажать на кнопку, нарисованную с помощью Ботвы?
 
AtotIK, скачать библиотеку и посмотреть примеры. Там и кнопки и не кнопки.
 
отдам исходники в хорошие руки
Shegorat сегодня/завтра в личку ссылку кину
ЗЫ купил NAS копирую мульты/фильмы/фотки. комп готовится к удалению из квартиры. все исходники были забэкаплены на CD/DVD. все диски уже выкинул. что было важное скопировал пока на комп. теперь раздаю, чтобы удалить можно было :)
 
Последнее редактирование:
South
Приветствую, рад тебя видеть. Где пропадал?

Короче, есть исходники, заниматься ими времени нет. Если найдутся желающие, которые докажут, что смогут продолжить дело, милости просим
От исходников не откажусь, может почерпну чего интересного. А вот поддерживать и развивать не знаю.
Я делал собственный аналогичный проект с блэкджеком и шлюхами, приватный (возможно потом будет открытым). Пример инсталлятора на нем можно видеть здесь. Правда скрипт не закончен, и там очень старая версия либы. Новая версия лучше оптимизирована и имеет больший функционал.

короче, хорош дурью маятся, пора свой инсталлер писать (если будете, то я участвую)
пускай с минимальными возможностями, но это дело наживное
Это конечно все интересно, но с ним много проблем возникнет. Да и у меня к примеру нет сейчас на это времени.
 
Подскажите пожалуйста как сделать трэкбар через ботву на компонент листе и странице готовности?
 

Вложения

  • 1.PNG
    1.PNG
    319.3 KB · Просмотры: 117
  • 2.PNG
    2.PNG
    320.1 KB · Просмотры: 113
Последнее редактирование:
Т.к. уже vint56, все сделал. То вот. Подправил и прокрутка.
 

Вложения

  • x.iss
    x.iss
    6.5 KB · Просмотры: 39
South, впервые вижу o_O А как тут сделано чтобы картинки выделялись при наведении на лейбл? Только это незнаю.
 
Последнее редактирование:
Кстати, я тоже.
Интересно было бы глянуть на реализацию.
 
sergey3695, пример если я правильно понял
http://rghost.ru/7mMt7H9jq
Присоединяюсь к nik1967, тоже интересно посмотреть
 
Последнее редактирование:
sergey3695, Это отстроено только на ботве, т.е лейблы + кнопки. Вся нужная инфа для построения справа выводится.
 
Назад
Сверху