BOOL CRevPlayMDIChildWnd::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
{
// TODO: Add your specialized code here and/or call the base class
CWnd* pRevPlayWnd = (CRevPlayWnd*)GetDlgItem(IDC_REVPLAY_WND);
if (pRevPlayWnd == NULL)
return FALSE;
COnCmdMsg oncmdmsg;
oncmdmsg.m_nID = nID;
oncmdmsg.m_nCode = nCode;
oncmdmsg.m_pExtra = pExtra;
oncmdmsg.m_pHandlerInfo = pHandlerInfo;
return pRevPlayWnd->SendMessage(WM_USER_ONCMDMSG,
0, (LPARAM)&oncmdmsg);
}
void CRevPlayMDIChildWnd::OnSize(UINT nType, int cx, int cy)
{
CMDIChildWnd::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
CWnd* pRevPlayWnd = GetDlgItem(IDC_REVPLAY_WND);
if (pRevPlayWnd == NULL)
return; // child CBounceWnd not created yet
CRect rect;
GetClientRect(&rect);
pRevPlayWnd->SetWindowPos(NULL, 0, 0, rect.Width(), rect.Height(),
SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER);
}
BOOL CRevPlayMDIChildWnd::DestroyWindow()
{
// TODO: Add your specialized code here and/or call the base class
OnPrepareToClose();
return CMDIChildWnd::DestroyWindow();
}
LRESULT CRevPlayMDIChildWnd::OnPrepareToClose(WPARAM wParam, LPARAM lParam)
{
CWnd* pRevPlayWnd = (CRevPlayWnd*)GetDlgItem(IDC_REVPLAY_WND);
pRevPlayWnd->SendMessage(WM_USER_PREPARE_TO_CLOSE);
WaitForSingleObject(CRevPlayThread::m_hEventRevPlayThreadKilled, INFINITE);
return 0;
}