在CStageButton類的實現(xiàn)代碼中,設置當鼠標按下時觸發(fā)的云臺控制代碼和鼠標抬起時停止對云臺的控制。代碼如下:
//當按下鼠標按鈕時,根據(jù)按鈕的類型標識調用不同的方法
void CStageButton::OnLButtonDown(UINT nFlags, CPoint point)
{
switch(m_Type)
{
case ctUp:
{
((CCaptureDlg*)GetParent())->OnUp(); //控制云臺向上
break;
}
case ctDown:
{
((CCaptureDlg*)GetParent())->OnDown(); //控制云臺向下
break;
}
case ctLeft:
{
((CCaptureDlg*)GetParent())->OnLeft(); //控制云臺向左
break;
}
case ctRight:
{
((CCaptureDlg*)GetParent())->OnRight(); //控制云臺向右
break;
}
case ctInFoci:
{
((CCaptureDlg*)GetParent())->OnInFoci(); //設置聚焦減
break;
}
case ctReFoci:
{
((CCaptureDlg*)GetParent())->OnReFoci(); //設置聚焦增
break;
}
case ctInLen:
{
((CCaptureDlg*)GetParent())->OnInLen(); //設置對焦減
break;
}
case ctReLen:
{
((CCaptureDlg*)GetParent())->OnReLen(); //設置對焦增
break;
}
case ctInAperture:
{
((CCaptureDlg*)GetParent())->OnInAperture(); //設置光圈減
break;
}
case ctReAperture:
{
((CCaptureDlg*)GetParent())->OnReAperture(); //設置光圈增
break;
}
case ctInBrush:
{
((CCaptureDlg*)GetParent())->OnInBrush(); //設置畫筆減
break;
}
case ctReBrush:
{
((CCaptureDlg*)GetParent())->OnReBrush(); //設置畫筆增
break;
}
default:
{
break;
}
}
CButton::OnLButtonDown(nFlags, point);
}
//當釋放鼠標按鈕時停止對云臺的控制
void CStageButton::OnLButtonUp(UINT nFlags, CPoint point)
{
((CCaptureDlg*)GetParent())->OnReset();
CButton::OnLButtonUp(nFlags, point);
}