/* * Function: Set motion detection zone * Detection zone. Total row * cooumn. It is a planar array, e,g * byDetected[DH_MOTION_ROW][DH_MOTION_COL] of structure DH_MOTION_DETECT_CFG */ void CAlarmMotion::OnBtnArea() { // TODO: Add your control notification handler code here int nIndex = m_ctlChannel.GetCurSel(); if(CB_ERR != nIndex) { int nNum = m_ctlChannel.GetItemData(nIndex); CConfigAlarmMotionArea areaDlg; if (m_pstuMotionInfo) { if (m_pstuMotionInfo[nNum].nVersion == 1 && m_pstuMotionInfo[nNum].abWindow) { areaDlg.SetAreaEx(&m_pstuMotionInfo[nNum]); if (IDOK == areaDlg.DoModal()) { } } else { areaDlg.SetArea((BYTE*)m_pstuMotionInfo[nNum].byRegion, m_pstuMotionInfo[nNum].nMotionRow, m_pstuMotionInfo[nNum].nMotionCol); if (IDOK == areaDlg.DoModal()) { memcpy(m_pstuMotionInfo[nNum].byRegion, areaDlg.GetArea(), DH_MOTION_ROW*DH_MOTION_COL); } } } } else { MessageBox(ConvertString("Please select channel!"), ConvertString("Prompt")); } }
void CConfigAlarmMotion::OnBtnArea() { CConfigAlarmMotionArea areaDlg; areaDlg.SetArea((BYTE*)m_motionCFG[m_chlIdx].byDetected); if (IDOK == areaDlg.DoModal()) { memcpy(m_motionCFG[m_chlIdx].byDetected, areaDlg.GetArea(), DH_MOTION_ROW*DH_MOTION_COL); } }