Mfc-animation-control

提供:Dev Guides
移動先:案内検索

MFC-アニメーションコントロール

アニメーションコントロールは、AVI形式でオーディオクリップを表示するウィンドウです。 AVIクリップは、映画のような一連のビットマップフレームです。 アニメーションコントロールは単純なAVIクリップのみを再生でき、サウンドはサポートしていません。 CAnimateCtrl クラスで表されます。

以下は、CAnimateCtrlクラスのメソッドのリストです-

Sr.No. Methods & Description
1

Close

AVIクリップを閉じます。

2

Create

アニメーションコントロールを作成し、CAnimateCtrlオブジェクトにアタッチします。

3

CreateEx

指定されたWindows拡張スタイルでアニメーションコントロールを作成し、CAnimateCtrlオブジェクトにアタッチします。

4

IsPlaying

Audio-Video Interleaved(AVI)クリップが再生中かどうかを示します。

5

Open

ファイルまたはリソースからAVIクリップを開き、最初のフレームを表示します。

6

Play

AVIクリップを音声なしで再生します。

7

Seek

AVIクリップの選択された単一のフレームを表示します。

8

Stop

AVIクリップの再生を停止します。

ここにアニメーション制御のためのメッセージマッピングのリストがあります-

Message Map entry Description
ACN_START ON_ACN_START ( <id>, <memberFxn> ) The framework calls this member function when an animation is being started.
ACN_STOP ON_ACN_STOP ( <id>, <memberFxn> ) The framework calls this member function when an animation stop.

アニメーションコントロールの簡単な例を見てみましょう。

  • ステップ1 *-新しいMFCダイアログベースのプロジェクトを作成します。

MFCダイアログプロジェクト

  • ステップ2 *-プロジェクトが作成されたら、TODO行を削除し、ToolboxのAnimation Controlをクリックして、次のスナップショットに示すように四角形を描画します。

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

  • ステップ3 *-アニメーションコントロールのコントロール変数を追加するには、右クリックして[変数の追加]を選択します。

MFCアニメーションデモ

  • ステップ4 *-変数名と変数タイプを入力します。これはアニメーションの場合はCAnimateCtrlです。

CAnimateCtrl Animation。

  • ステップ5 *-[プロパティ]ウィンドウを使用して、境界線の値をFalseに設定し、自動再生、中央、透明の値をTrueに設定します。

ステップ6 *- *res フォルダーに* .aviファイルがあります。これは、プロジェクトで使用されるリソースのデフォルトフォルダーです。

ステップ7 *-アニメーションを開始するには、Openメソッド *CAnimateCtrl クラスを呼び出す必要があります。 CMFCAnimationDemoDlg
OnInitDialog()に次のコード行を追加します
m_animationCtrl.Open(L"res\\copyfile.avi");
*ステップ8 *-CMFCAnimationDemoDlg
OnInitDialog()の完全な実装です。
BOOL CMFCAnimationDemoDlg::OnInitDialog(){
   CDialogEx::OnInitDialog();

  //Add "About..." menu item to system menu.

  //IDM_ABOUTBOX must be in the system command range.
   ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
   ASSERT(IDM_ABOUTBOX < 0xF000);

   CMenu* pSysMenu = GetSystemMenu(FALSE);
   if (pSysMenu != NULL){
      BOOL bNameValid;
      CString strAboutMenu;
      bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
      ASSERT(bNameValid);
      if (!strAboutMenu.IsEmpty()){
         pSysMenu -> AppendMenu(MF_SEPARATOR);
         pSysMenu -> AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
      }
   }

  //Set the icon for this dialog. The framework does this automatically
  //when the application's main window is not a dialog
   SetIcon(m_hIcon, TRUE);       //Set big icon
   SetIcon(m_hIcon, FALSE);      //Set small icon

  //TODO: Add extra initialization here
   m_animationCtrl.Open(L"res\\copyfile.avi");

   return TRUE;//return TRUE unless you set the focus to a control
}
  • ステップ9 *-上記のコードをコンパイルして実行すると、次の出力が表示されます。

MFC CMFCAnimationDemo