Вопрос Есть ли библиотека с какой-нибудь анимацией?

zettend

Старожил
Подскажите пожалуйста, присутствуют ли какие-нибудь библиотеки с анимацией?
Если да, то какие?
 

zettend

Старожил
Да я имел введу анимации переходов, появления, и всё в это роде.
 

ZVSRus

Участник
Avengerz13
А ВЫ сами использовали хоть раз эти библиотеки. Меня интересует GIFCtrl
Поэксперементировал час, что-то не могу поменять родителя у картинки.
 

ZVSRus

Участник
Avengerz13
Поменять страницы для картинки это не ответ.
Попробуйте картинку разместить на панельке!
 

ZVSRus

Участник
Avengerz13
Картинку 0023.gif уберите прочь.
Картинку nsisinstall.gif разместите на панельке, панельку на InstallingPage
 

vint56

Ветеран
Проверенный
ZVSRus,
Код:
[Setup]
AppName=gifctrl
AppVerName=gifctrl
DefaultDirName={pf}\gifctrl
DefaultGroupName=gifctrl
DisableWelcomePage=No
OutputDir=.

[Files]
Source: gifctrl.dll; Flags: dontcopy solidbreak
Source: nsisinstall.gif; Flags: dontcopy solidbreak
Source: {win}\help\*; DestDir: {app}\Files; Flags: external recursesubdirs createallsubdirs;

[code]
const
   HALIGN_CENTER = 0;
   HALIGN_LEFT = 1;
   HALIGN_RIGHT = 2; 

   VALIGN_CENTER = 0;
   VALIGN_TOP = 1;  
   VALIGN_BOTTOM = 2;

   FIT_NONE = 0;     
   FIT_WIDTH = 1;    
   FIT_HEIGHT = 2;   
   FIT_BOTH = 3;     
  
   CLR_INVALID = $FFFFFFFF;


function NewGifbWnd(hWndParent: HWND; X, Y, nWidth, nHeight: Integer): HWND; external 'newgifwnd@files:gifctrl.dll stdcall';
function FreeGifWnd(hWndGif: HWND): Boolean; external 'freegifwnd@files:gifctrl.dll stdcall';
function FreeAllGifWnd(): Boolean; external 'freeallgifwnd@files:gifctrl.dll stdcall';
function GifWndSetParent(hWndGif: HWND; hWndParent: HWND): Boolean; external 'gifwndsetparent@files:gifctrl.dll stdcall';
function GifWndSetBounds(hWndGif: HWND; X, Y, nWidth, nHeight: Integer): Boolean; external 'gifwndsetbounds@files:gifctrl.dll stdcall';
function GifWndLoadFromFile(hWndGif: HWND; HAlign, VAlign: Integer; BGColor: DWord; Fit: integer; GifFileName: PansiChar): Boolean; external 'gifwndloadfromfile@files:gifctrl.dll stdcall';

var
PanelGIF: HWND;
GIFPanel: TPanel;

function InitializeSetup(): Boolean;
begin
  PanelGIF := 0;
  Result := True;
end;

procedure DeinitializeSetup();
begin
  FreeAllGifWnd();
end;

procedure InitializeWizard();
begin
  GIFPanel := TPanel.Create(WizardForm);
  with GIFPanel do
  begin
    Parent := WizardForm.InstallingPage;
    Left := ScaleX(24);
    Top := ScaleY(70);
    Width := ScaleX(417);
    Height := ScaleY(169);
    Caption := 'Panel1';
  end;

  ExtractTemporaryFile('nsisinstall.gif');
  PanelGIF := NewGifbWnd(GIFPanel.Handle, ScaleX(0), ScaleY(0), 417, 169);
  GifWndLoadFromFile(PanelGIF, HALIGN_CENTER, VALIGN_CENTER, CLR_INVALID, FIT_NONE, ExpandConstant('{tmp}\nsisinstall.gif'));
end;
 

ZVSRus

Участник
vint56
Большое спасибо. Как всегда оперативно и по уму!
P.S. Почему так долго грузится, из за DLL'ки или из самого скрипта.
 

vint56

Ветеран
Проверенный
ZVSRus, если честно я не пользовался этой dll вообще потому не знаю
 
Сверху