フォームのアニメーション移動(最小化・戻る時) <TOP>
フォームを最小化(アイコン化)するとき、タスクバーから元に戻すときアニメーション表示・・・
SystemParametersInfo システムワイドパラメータを問い合わせや設定
SPI_SETANIMATION(73)
アニメーション効果を設定
SPIF_UPDATEINIFILE(&H1) ユーザープロファイルの更新を指定
SPIF_SENDWININICHANGE(&H2) 全てのアプリケーションに通知して更新
'================================================================ '= アニメーション効果(フォームの最小化・戻る時) '= (SysParamInfo.bas) '================================================================ #include "Windows.bi" Type tagANIMATIONINFO cbSize As Long iMinAnimate As Long End Type ' システム全体に関するパラメータを取得・設定 Declare Function Api_SystemParametersInfo& Lib "user32" Alias "SystemParametersInfoA" (ByVal uiAction&, ByVal uiParam&, pvParam As Any, ByVal fWinIni&) #define SPI_SETANIMATION 73 'アニメーション効果を設定 #define SPIF_UPDATEINIFILE &H1 'ユーザープロファイルの更新を指定する定数の宣言 #define SPIF_SENDWININICHANGE &H2 '全てのアプリケーションに通知して更新する #define SPIF_SENDCHANGE SPIF_SENDWININICHANGE Var Shared AnimFlag As Byte '================================================================ '= '================================================================ Declare Sub AnimeSetSelect edecl () Sub AnimeSetSelect() Var AnimInfo As tagANIMATIONINFO Var Ret As Long 'アニメーション情報の構造体を初期化 AnimInfo.cbSize = Len(AnimInfo) '最小化時のアニメーションのオンオフを指定 AnimInfo.iMinAnimate = AnimFlag '最小化時などのアニメーションの有効無効を取得 Ret = Api_SystemParametersInfo(SPI_SETANIMATION, Len(AnimInfo), AnimInfo, SPIF_UPDATEINIFILE Or SPIF_SENDCHANGE) End Sub '================================================================ '= '================================================================ Declare Sub Radio1_on edecl () Sub Radio1_on() AnimFlag = 0 AnimeSetSelect End Sub '================================================================ '= '================================================================ Declare Sub Radio2_on edecl () Sub Radio2_on() AnimFlag = 1 AnimeSetSelect End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End