Моя проблема заключается в том, почему компилятор Inno Setup (Unicode или ANSI) и любые сделанные им настройки не сводят к минимуму отображение приятной минимизирующей анимации, как в других программах Windows?Программы установки, созданные с помощью программы Inno Setup Компилятор не отображает Минимизировать анимацию
Он отображает очень базовую Минимизирующую анимацию .......... Почему?
Я знаю Borland Delphi
как компилятор компилятора Inno Setup, но Borland Delphi
не имеет такого плохого Свернуть анимацию ........... Минимизирует его как обычно, как Windows System Windows (например, Explorer, Computer, Панель управления) ...
Я также заметил, что создатель Windows Installer Creater Nullsoft Scriptable Install System - NSIS
и созданные с его помощью установки также сведены к минимуму, как я уже сказал.
Как я могу решить эту проблему?
ОБНОВЛЕНО ВОПРОС
Я также добавил код, чтобы играть, что приятно Zooming Минимизировать/Восстановить анимацию можно увидеть во многих приложениях Windows на Inno Setup-х WizardForm
, но когда я нажимаю WizardForm
«s Кнопка минимизации после добавления этот код для исходного кода компилятора Inno Setup, анимация Nice Zooming не воспроизводится, и ее никогда не можно свести к минимуму с помощью нее, ее можно свести к минимуму с помощью кнопки панели задач после добавления этого кода. Значит, этот код не работает или что-то еще не так ........... Почему это не работает ???
код, который я Добавлено в блок WizardForm
:
interface
uses
Windows;
type
TTrayZoom = class(TObject)
private
class function GetTrayRect: TRect;
class procedure DoZoom(const Wnd: HWND; const Src, Dest: TRect);
public
class procedure ZoomToTray(const Wnd: HWND);
class procedure ZoomFromTray(const Wnd: HWND);
end;
implementation
class procedure TTrayZoom.DoZoom(const Wnd: HWND; const Src, Dest: TRect);
begin
DrawAnimatedRects(Wnd, IDANI_CAPTION, Src, Dest);
end;
class function TTrayZoom.GetTrayRect: TRect;
var
TaskbarWnd, TrayWnd: HWND;
begin
TaskbarWnd := FindWindow('Shell_TrayWnd', nil);
TrayWnd := FindWindowEx(TaskbarWnd, 0, 'TrayNotifyWnd', nil);
GetWindowRect(TrayWnd, Result);
end;
class procedure TTrayZoom.ZoomFromTray(const Wnd: HWND);
var
WndRect: TRect;
begin
GetWindowRect(Wnd, WndRect);
DoZoom(Wnd, GetTrayRect, WndRect);
end;
class procedure TTrayZoom.ZoomToTray(const Wnd: HWND);
var
WndRect: TRect;
begin
GetWindowRect(Wnd, WndRect);
DoZoom(Wnd, WndRect, GetTrayRect);
end;
И я назвал TTrayZoom.ZoomToTray
из if WMSysCommand..... = SCMINIMIZE
и называется TTrayZoom.ZoomFromTray
из if WMSysCommand..... = SCRESTORE
с заходящего HWND
параметра WizardForm.Handle
.
Но эти коды никогда не работают, я даже не знаю, вызваны ли они или нет. :(
В чем проблема, играя в эту Zooming анимации в этом WizardForm
?
Нет ........ Избегайте использования 'DrawAnimatedRects' здесь! Вы можете легко установить 'Result: = 0' и вызвать' ShowWindow' для минимизации, восстановления или даже максимизации, если хотите. – GTAVLover