/*****************************************************
    Animation Sample
    
    "comctl32.lib"をリンクに追加する!

    2002.Jun.30
    K_Yaguchi

    URL     http://www5b.biglobe.ne.jp/~kouta_y/
    mailto  kouta_y@mve.biglobe.ne.jp
*****************************************************/

#include <windows.h>
#include <commctrl.h>   // コモンコントロールヘッダ


#define ClassName       "AnimateSample"


/******************************

    ウィンドウプロージャ

*******************************/
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) {
    static HWND hAnim;
    HDC hdc;
    PAINTSTRUCT ps;
    LPCTSTR str[] = {"左クリックで再生", "右クリックで停止"};

    switch (msg) {
        case WM_DESTROY:
            Animate_Close(hAnim);           // アニメーションコントロール破棄
            PostQuitMessage(0);
            break;

        case WM_LBUTTONUP:
            Animate_Play(hAnim, 0, -1, -1); // 再生(フレーム0から連続再生)
            break;

        case WM_RBUTTONUP:
            Animate_Stop(hAnim);            // 停止
            break;

        case WM_CREATE:

//          コモンコントロールの初期化
            InitCommonControls();

//          アニメーションコントロールの作成
            hAnim = Animate_Create(
                        hWnd,                                           // 親ウィンドウ
                        101,                                            // コントロールID
                        WS_CHILD | WS_VISIBLE | ACS_TRANSPARENT,        // コントロールスタイル
                        (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE)   // インスタンスハンドル
                    );

//          アニメーションファイルを開く

//          ファイルから
//          Animate_Open(hAnim, "FILECOPY.AVI");
//          リソースから
            Animate_OpenEx(hAnim, (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE), "IDR_AVI");
            break;

        case WM_PAINT:
            hdc = BeginPaint(hWnd, &ps);
            SetBkMode(hdc, TRANSPARENT);
            TextOut(hdc, 80, 100, str[0], lstrlen(str[0]));
            TextOut(hdc, 80, 120, str[1], lstrlen(str[1]));
            EndPaint(hWnd, &ps);
            break;

        default:
            return DefWindowProc(hWnd, msg, wp, lp);
    }

    return 0;
}



/***************

    メイン

****************/
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, PSTR lpCmdLine, int nCmdShow) {
    HWND     hWnd;
    MSG      msg;
    WNDCLASS wc;


//  ウィンドウクラス登録
    wc.style            = CS_HREDRAW | CS_VREDRAW;
    wc.lpfnWndProc      = WndProc;
    wc.cbClsExtra       = 0;
    wc.cbWndExtra       = 0;
    wc.hInstance        = hInstance;
    wc.hIcon            = LoadIcon(NULL, IDI_APPLICATION);
    wc.hCursor          = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground    = (HBRUSH)COLOR_WINDOW;
    wc.lpszMenuName     = NULL;
    wc.lpszClassName    = ClassName;
    
    if (!RegisterClass(&wc)) return 0;


//  オーナーウィンドウ作成
    hWnd = CreateWindow(
                ClassName,
                "アニメーション!",
                WS_OVERLAPPEDWINDOW | WS_VISIBLE,
                CW_USEDEFAULT, CW_USEDEFAULT, 320, 240,
                NULL, NULL,
                hInstance, NULL
            );
    if (hWnd == NULL) return 0;

//  メッセージループ
    while(GetMessage(&msg, NULL, 0, 0)) {
        TranslateMessage(&msg);
        DispatchMessage (&msg);
    }

//  ウィンドウクラスの登録解除
    UnregisterClass(ClassName, hInstance);
    return msg.wParam;
}
		

リソースを使う場合のリソースファイルの内容

// AVI File
IDR_AVI    AVI    "FILECOPY.AVI"