マウスの入力を検出
public:
BOOL Ldown,Rdown;
CPoint oldpos;
BOOL CMousesapView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: この位置で CREATESTRUCT cs を修正して Window クラスまたはスタイルを
// 修正してください。
Ldown = FALSE;
Rdown = FALSE;
return CView::PreCreateWindow(cs);
}
void CMousesapView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください
CClientDC myDC(this);
myDC.TextOut(0,0,"左ボタン押下");
Ldown = TRUE;
oldpos = point;
SetCapture();
CView::OnLButtonDown(nFlags, point);
}
void CMousesapView::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください
CClientDC myDC(this);
myDC.TextOut(0,0,"左ボタン解放");
Ldown = FALSE;
ReleaseCapture();
if(nFlags & MK_SHIFT){
InvalidateRect(NULL);
}
CView::OnLButtonUp(nFlags, point);
}
void CMousesapView::OnRButtonDown(UINT nFlags, CPoint point)
{
// TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください
CClientDC myDC(this);
myDC.TextOut(200,0,"右ボタン押下");
Rdown = TRUE;
oldpos = point;
CView::OnRButtonDown(nFlags, point);
}
void CMousesapView::OnRButtonUp(UINT nFlags, CPoint point)
{
// TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください
CClientDC myDC(this);
myDC.TextOut(200,0,"右ボタン解放");
Rdown = FALSE;
CView::OnRButtonUp(nFlags, point);
}
void CMousesapView::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: この位置にメッセージ ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください
CClientDC myDC(this);
if(Ldown || Rdown){
myDC.MoveTo(oldpos);
myDC.LineTo(point);
oldpos = point;
}
CView::OnMouseMove(nFlags, point);
}