Iwao Dev

気付いたことをメモしています.

この画面は、簡易表示です

2013 / 11月

ダイアログでの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);
  }


  にほんブログ村 IT技術ブログへ


Win XP 100%


  にほんブログ村 IT技術ブログへ



    top

    %d人のブロガーが「いいね」をつけました。