MFCはgifアニメーションを追加します



Mfc Adds Gif Animation



MFCはgifアニメーションを追加します

gifアニメーションを表示するために、ここではインターネット上にあるCPictureExクラスライブラリを使用します。次のステップバイステップは、gifアニメーションの表示を実現することです。



1.ダイアログボックスを作成し、画像コントロールとテキストコントロールをダイアログボックスに追加します。効果は次のとおりです。



2.図の灰色のブロックは画像​​コントロールであり、灰色のブロックになるようにプロパティを変更する必要があります。次の図に示すように、2つのプロパティが変更されました。

3.画像コントロールを選択し、Ctrlキーを押しながらダブルクリックして、メンバー変数を追加します。



// CStatic m_gifCtrl CPictureEx m_gifCtrl

追加された変数はCStaticm_gifCtrlです。もちろん、CPictureEx m_gifCtrlに変更して、CPictureExヘッダーファイルを追加し、ダイアログボックスのヘッダーファイルに追加します。

#include 'PictureEx.h'

4.ダイアログボックスのOnInitDialog()関数に次のコードを追加して、アニメーションGIF画像を表示します。

画像

 1 BOOL CDlgWaiting::OnInitDialog() 2 { 3 CDialogEx::OnInitDialog() 4 5 CString strFile = GetAbsolutePath() + _T('waiting.gif') 6 if (m_gifCtrl.Load(strFile)) 7 { 8 m_gifCtrl.Draw() 9 } 10 return TRUE 11 }

画像

注:私はVS2012を使用しています。プロジェクトのリソースにgifファイルを追加すると、6行目でLoad resourceメソッドを使用してgifが読み込まれ、最終的な表示は動的な画像ではなく、ステートメントの画像になります。

ここでは、実行可能ファイルのディレクトリにgif画像を配置したので、GetAbsolutePath()関数を呼び出して実行可能ファイルのディレクトリを取得します。 GetAbsolutePath()関数のコードは次のとおりです。

画像

 1 // Get all the paths of the executable file 2 CString GetAbsolutePath() 3 { 4 CString strTemp 5 TCHAR *pBuf = strTemp.GetBuffer(MAX_PATH) 6 7 ::GetModuleFileName(NULL, pBuf, MAX_PATH) 8 strTemp.ReleaseBuffer() 9 strTemp = strTemp.Left(strTemp.ReverseFind(_T('\'))) + _T('\') 10 11 return strTemp 12 }

画像

最後に、プログラムを実行し、クリックして別のウィンドウで実行します。このウィンドウにはgifアニメーションがポップアップ表示され、効果は次のとおりです。

使用したgif画像は 、使用する http://preloaders.net/ ウェブサイトが生成されました。

からの転送: https://www.cnblogs.com/hnlzj/p/4257399.html