Inno Setup.Как переместить окно с помощью мыши? - PullRequest
0 голосов
/ 06 декабря 2018

В Inno Setup я удалил границу окна с формулой

WizardForm.BorderStyle: = bsNone;(Это хорошо работает.)

В настоящее время я бы хотел переместить окно мышью.Я написал этот код в Lazarus, он работает нормально, но если я применяю тот же код в Inno Setup, он не работает.Не могли бы вы помочь мне, пожалуйста, потому что я не могу найти решение.Спасибо.

[Code]
procedure InitializeWizard();

//Remove the border of the window.
var
  ClientWidth: Integer;
  ClientHeight: Integer;

begin
  ClientWidth := WizardForm.ClientWidth;
  ClientHeight := WizardForm.ClientHeight;

  WizardForm.BorderStyle := bsNone;

  WizardForm.ClientWidth := ClientWidth;
  WizardForm.ClientHeight := ClientHeight;   
end;

//Move the window with the mouse.
var
  MouseIsDown: boolean;
  PX, PY: integer;

procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbLeft then
  begin
    MouseIsDown := True;
    PX := X;
    PY := Y;
  end;
end;

procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if MouseIsDown then
  begin
    SetBounds(Left + (X - PX), Top + (Y - PY), Width, Height);
  end;
end;

procedure FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  MouseIsDown:=False;
end;

end.

procedure DeInitializeSetup();
begin
end;

// End of file (EOF)

1 Ответ

0 голосов
/ 10 декабря 2018

Inno Setup - переместите окно с помощью мыши.

Привет всем,

Когда мы удаляем границу окна, важно иметь возможностьпереместите его с помощью мыши.
Я отправляю вам решение:
, чтобы сделать это, вы должны использовать Inno Setup и Graphical Installer.
Важно загрузить последние версии.

Здесьссылки:
Inno Setup: http://www.jrsoftware.org/
Графический установщик: http://graphical -installer.com / joomla / index.php / покупка / бесплатная пробная версия

1 / Установите 2 приложения.
2 / Скопируйте приведенный ниже код и вставьте его в часть кода (ваш сценарий) Inno Setup.
3 / Выполните.

[Code]
// Next functions are used for proper working of Graphical Installer powered installer
procedure InitializeWizard();

//This function allows you to delete the border of the window
var
  ClientWidth: Integer;
  ClientHeight: Integer;
begin
  ClientWidth := WizardForm.ClientWidth;
  ClientHeight := WizardForm.ClientHeight;

  WizardForm.BorderStyle := bsNone;

  WizardForm.ClientWidth := ClientWidth;
  WizardForm.ClientHeight := ClientHeight;

//This function allows you to drag the window with the mouse
begin
    #ifdef GRAPHICAL_INSTALLER_PROJECT
    WizardForm.EnableDragging();
    #endif
end;

    #ifdef GRAPHICAL_INSTALLER_PROJECT
    InitGraphicalInstaller();
    #endif
end;

// Next function is used for proper working of Graphical Installer powered installer
procedure CurPageChanged(CurPageID: Integer);
begin
    #ifdef GRAPHICAL_INSTALLER_PROJECT
    PageChangedGraphicalInstaller(CurPageID);
    #endif
end;

// Next function is used for proper working of Graphical Installer powered installer 
procedure DeInitializeSetup();
begin
    #ifdef GRAPHICAL_INSTALLER_PROJECT
    DeInitGraphicalInstaller();
    #endif
end;

// End of file (EOF)

Важно:
перемещение окна активируется только путем позиционирования курсора мыши в нижней части окна.
Вы можете прочитать эту функцию в онлайн-руководстве по графическому установщику.
(см. Название внизу страницы)Перетаскивание окна установки ".)

Вот ссылка:
http://graphical -installer.com / files / manual / inno / source / html / intro% 20-% 20project-api.html

Хороший сценарий для всех.

...