2017-12-02 7 views
0

インストーラでコントロールロールアウトをアニメーション化したいと思います。Inno Setupでコントロールロールアウトをアニメーション化する方法

You can see this video

+0

1)問題を言葉で説明し、外部サイトへのリンクを使用しないでください。 2)言葉で表現できない場合は、少なくとも信頼できるサイトに動画をアップロードしてください。 –

+0

私の計画は説明できません。どこでビデオをアップロードするのですか? –

+0

あなたは、クリックすると、メニューをロールアウトするインストーラのボタンが必要になりますか? –

答えて

0

あなたはInnoTools InnoCallback DLL library

[Files] 
Source: InnoCallback.dll; Flags: dontcopy 

[Code] 

type 
    TTimerProc = procedure(H: LongWord; Msg: LongWord; IdEvent: LongWord; Time: LongWord); 

function SetTimer(hWnd: longword; nIDEvent, uElapse: LongWord; lpTimerFunc: LongWord): 
    LongWord; external '[email protected] stdcall'; 
function KillTimer(hWnd, nIDEvent: LongWord): LongWord; 
    external '[email protected] stdcall'; 

function WrapTimerProc(Callback: TTimerProc; ParamCount: Integer): LongWord; 
    external '[email protected]:innocallback.dll stdcall'; 

var 
    MainPanelAnimated: Boolean; 
    AnimationTimer: LongWord; 

procedure AnimationTimerProc(
    H: LongWord; Msg: LongWord; IdEvent: LongWord; Time: LongWord); 
var 
    L: Integer; 
begin 
    L := WizardForm.MainPanel.Left + ScaleX(5); 
    if L > 0 then 
    begin 
    L := 0; 
    KillTimer(0, AnimationTimer); 
    end; 
    WizardForm.MainPanel.Left := L; 
end; 

procedure CurPageChanged(CurPageID: Integer); 
var 
    HoverTimerCallback: LongWord; 
begin 
    if WizardForm.OuterNotebook.ActivePage = WizardForm.InnerPage then 
    begin 
    if not MainPanelAnimated then 
    begin 
     HoverTimerCallback := WrapTimerProc(@AnimationTimerProc, 4); 
     AnimationTimer := SetTimer(0, 0, 5, HoverTimerCallback); 
     WizardForm.MainPanel.Left := -WizardForm.MainPanel.Width; 
     MainPanelAnimated := True; 
    end; 
    end; 
end; 

enter image description here

を使用してコントロールをアニメーション化するためにタイマーを使用することができます右対について

(アニメーションは、画像のショーよりも実際にはよりスムーズです)左のアニメーションは、Inno Setup - Animate a control roll out from right in a determinate pageを参照してください。

+0

どのようにより速いサー? –

+0

'SetTimer'呼び出しの間隔を短くするか、' ScaleX'呼び出しのステップを増やすだけです。 –

+0

それを機能させましたか? –

関連する問題