Top > OOoBasic > Dialog > AnimatedImage

アニメーションコントロール Edit

SimpleAnimation コントロールと Throbber コントロールの代わりに実装されたコントロール。OOo 3.4 から利用できます。

アニメーションコントロール Edit

画像をパラパラ漫画のように切り替えてアニメーションするコントロールです。

Sub AnimatedControl
 sDir = "file:///home/hoge/Documents/images/icons/"
 
 DialogLibraries.loadLibrary("Standard")
 
 oDialog = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
 oDialogModel = oDialog.getModel()
 oAnimated = CreateUnoService("com.sun.star.awt.AnimatedImagesControl")
 
 oAnimatedModel = CreateUnoService("com.sun.star.awt.AnimatedImagesControlModel")
 oAnimated.setModel(oAnimatedModel)
 oAnimatedModel.insertImageSet(0, Array(_
     sDir & "add.png", sDir & "down.png", sDir & "up.png")
 oAnimatedModel.StepTime = 1000
 oAnimatedModel.AutoRepeat = False
 oAnimatedModel.ScaleMode = 1
 
 oDialog.addControl("animated", oAnimated)
 
 oAnimated.setPosSize(0, 0, 64, 64, com.sun.star.awt.PosSize.POSSIZE)
 oAnimated.startAnimation()
 
 oDialog.execute()
 oDialog.dispose()
End Sub

StepTime を変更しても効果がないような気がします。

コントロールのインターフェース

  • css.awt.XAnimation
    • void startAnimation()
      • アニメーションを開始します。
    • void stopAnimation()
      • アニメーションを停止します。
    • boolean isAnimationRunning()
      • アニメーションが実行中かどうかを調べます。

モデルのインターフェース

  • css.awt.XAnimatedImages
    • セットから最適なものが選択されてアニメーションとして表示されます。
    • long getImageSetCount()
      • 画像セット数を返します。
    • []string getImageSet( [in] long index )
      • 画像セットを追加します。
    • void insertImageSet( [in] long index, [in] []string urls )
      • 画像セットを挿入します。
    • void replaceImageSet( [in] long index, [in] []string urls )
      • 画像セットを入れ替えます。
    • void removeImageSet( [in] long index )
      • 画像セットを削除します。
    • attribute は以下のもの
      名前説明
      StepTimelong切り替え間隔
      AutoRepeatboolean自動的に繰り返し
      ScaleModeshort拡大、縮小モード css.awt.ImageScaleMode

実行状態を示すコントロール Edit

濃淡が変化して回転するように見える実行状態を示すコントロールです。コントロールは 16x16、32x32、64x64 のサイズごとに画像が変更されます、大きさを調整して利用してください。

アニメーションコントロールのモデルとして css.awt.SpinningProgressControlModel サービスを利用します。

Sub SpinningProgress_1
 DialogLibraries.loadLibrary("Standard")
 
 oDialog = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
 oDialogModel = oDialog.getModel()
 oAnimated = CreateUnoService("com.sun.star.awt.AnimatedImagesControl")
 
 oSpinningModel = CreateUnoService("com.sun.star.awt.SpinningProgressControlModel")
 oAnimated.setModel(oSpinningModel)
 
 oDialog.addControl("spin", oAnimated)
 
 oAnimated.setPosSize(0, 0, 64, 64, com.sun.star.awt.PosSize.POSSIZE)
 oAnimated.startAnimation()
 
 oDialog.execute()
 oDialog.dispose()
End Sub

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes