Exemplo n.º 1
0
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);
	}
}
Exemplo n.º 2
0
/*
 *	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"));
	}
}
LRESULT CConfigAlarmMotionAreaBlock::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
{ 
	// TODO: Add your specialized code here and/or call the base class
	CConfigAlarmMotionArea *pMap = (CConfigAlarmMotionArea *)GetParent();
	if(pMap)
	{
		switch(message)
		{
		case WM_LBUTTONDOWN:
			pMap->RecordPoint(m_byX, m_byY);
			break;
		case WM_LBUTTONUP:
			pMap->ReleasePoint();
			break;
		case WM_MOUSEMOVE:
			pMap->MovePoint(wParam, m_byX, m_byY);
		default:
			break;
		}
	}
	return CWnd::DefWindowProc(message, wParam, lParam);
}