2011-07-13 36 views
0

私の32のアプリケーションでアニメーションのウィンドウのサイズを変更したいです。どこでも検索しましたが、Win32/MFC APIを見つけることができませんでした。私が必要とするアニメーションの振る舞いはとてもシンプルです。それはちょうどウィンドウの高さを拡大しています。どうすればこのような動作を達成できるか教えてください。Win32ウィンドウのサイズ変更アニメーション

答えて

-1

:: AnimateWindow()をご覧ください。 MSDNのリンク:http://msdn.microsoft.com/en-us/library/ms632669%28v=vs.85%29.aspx

+0

こんにちはRoel、AnimateWindowはアニメーションにとって非常に有望です。しかし、私はどのように高さ598から674と言うようにサイズを変更できますか? – fz300

+0

あなたは正しいですが、私は間違っていました。 AnimateWindow()は、ウィンドウを表示/非表示にするためのものです。独自のアニメーションをロールバックする必要があります。手動で行うこともできます(100ミリ秒ごとにタイマーを使ってウィンドウをステップごとにリサイズすることもできます)。明らかに、VS2010(http://www.nuonsoft.com/blog/2010/12/16/the-new-mfc-animation-api/)へのSP1のアップデートでは様々な方法で補間用のクラスもありますが、それと一緒に働いたことはない。 – Roel

1

GDIを使用してカスタムアニメーション効果を実現できます。まず、GetWindowRectを使ってウィンドウの座標と位置を取得します。 ShowWindowを使用してウィンドウを非表示にします。 DrawRect、FillRectなどを使ってアニメーションをタイマーに描画します。システムウィンドウの色を使って長方形を塗りつぶすことをお勧めします。その後、アニメーションが完了したらShowWindowを使用してウィンドウを再度表示/サイズ変更します。

関連する問題