ダイアログでのEyeChange
CStatic 内に表示するには,this ではなく &m_Image とする.
// u_Zoom. Init(this,&u_Scale) ;
u_Zoom. Init(&m_Image,&u_Scale) ;
// u_EyeChg. Init(&m_Image) ;
u_EyeChg. Init(this) ;
Eye eye(Eye::StdR) ;
u_EyeChg. SetEye (eye) ;
u_EyeChg. SetExtent(doc->PartsA_.GetExtent()) ;
u_EyeChg. Set_MouseEyeChange(TRUE) ;
// u_Zoom. Init(this,&u_Scale,&u_EyeChg) ;
u_Zoom. Init(&m_Image,&u_Scale,&u_EyeChg) ;
MButton , MouseWheel では,InvalidateRect などが必要.
void CAboutDlg::OnMButtonDown(UINT nFlags, CPoint point)
{
if (u_EyeChg. Event(GetCurrentMessage())) { return ; }
if (u_Zoom. Event(GetCurrentMessage())) { InvalidateRect(NULL) ; return ; }
CDialog::OnMButtonDown(nFlags, point);
}
BOOL CAboutDlg::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
{
if (u_EyeChg. Event(GetCurrentMessage())) { return TRUE ; }
if (u_Zoom. Event(GetCurrentMessage())) { InvalidateRect(NULL) ; return TRUE ; }
return CDialog::OnMouseWheel(nFlags, zDelta, pt);
}