文書番号: 403840
最終更新日: 1999/03/19
#define AVI_FILE_NAME [ファイル名] class CTestView : public CView { . . public: UINT wID; protected: afx_msg LRESULT OnVideoEnd(WPARAM wParam, LPARAM lParam); DECLARE_MESSAGE_MAP() . .
BEGIN_MESSAGE_MAP(CTestView, CView) . . ON_MESSAGE(MM_MCINOTIFY, OnVideoEnd) END_MESSAGE_MAP()
void CTestView::OnTest1() { DWORD dwReturn; MCI_ANIM_OPEN_PARMS OpenParms; MCI_ANIM_PLAY_PARMS PlayParms; OpenParms.lpstrElementName = AVI_FILE_NAME; //ファイル名の指定 OpenParms.lpstrDeviceType = "AVIVideo"; OpenParms.hWndParent = GetSafeHwnd(); //View に直接表示する OpenParms.dwStyle = WS_CHILD; // ここでは省略していますが、dwReturn の戻り値も確認すべきです dwReturn = mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_TYPE | MCI_OPEN_ELEMENT | MCI_ANIM_OPEN_PARENT | MCI_ANIM_OPEN_WS, (DWORD)(LPVOID)&OpenParms); wID=OpenParms.wDeviceID; PlayParms.dwFrom = 0; PlayParms.dwCallback = (DWORD)GetSafeHwnd(); //MCI_NOTIFY のメッセージを View に送る mciSendCommand(wID, MCI_PLAY, MCI_FROM | MCI_NOTIFY, (DWORD)(LPVOID)&PlayParms); }
LRESULT CTestView::OnVideoEnd(WPARAM wParam, LPARAM lParam) { AfxMessageBox("Video End!!!"); mciSendCommand(wID,MCI_CLOSE, 0, NULL); return TRUE; }
Keywords: KBHOWTO VC10 VC15 VC20 KB403840
Technology: kbAudDeveloper kbvc150 kbVC32bitSearch kbVCsearch