您的位置:首页 > 理论基础

编写一个单文档界面应用程序,该程序可以测试在鼠标左键按下时鼠标光标的位置是否处在某规定的矩形框内,如果不在该矩形内则计算机的扬声器会发出“叮”的声音,反之则会在用户区显示光标的位置。

2013-06-24 19:10 1121 查看
编写一个单文档界面应用程序,该程序可以测试在鼠标左键按下时鼠标光标的位置是否处在某规定的矩形框内,如果不在该矩形内则计算机的扬声器会发出“叮”的声音,反之则会在用户区显示光标的位置。

1.建立一个名为MFCexp5_6的单文档

2.现在View类里声明一个POINT类的变量和一个CRect类型的变量,也就是要求的鼠标的坐标和矩形框

public:

POINT m_point;

CRect m_Rect;

3.在View的构造函数里对成员赋初值

CMy5_6View::CMy5_6View() : m_Rect( 50 , 50 , 250 , 200 )

{

// TODO: add construction code here

m_point.x = 0;

m_point.y = 0;

}

4.在View类里的OnDraw函数里的代码如下:

void CMy5_6View::OnDraw(CDC* pDC)

{

CMy5_6Doc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

// TODO: add draw code for native data here

pDC->Rectangle( m_Rect );

char s[20];

wsprintf( s , "x=%d y=%d,",m_point.x , m_point.y );

pDC->TextOut( 5 , 5 , s );

}

5.在OnLButtonDown的函数里代码:

void CMy5_6View::OnLButtonDown(UINT nFlags, CPoint point)

{

// TODO: Add your message handler code here and/or call default

if( m_Rect.PtInRect( point ) )

{

m_point.x = point.x;

m_point.y = point.y;

}

else

{

MessageBeep( 0 );

}

InvalidateRect(NULL);

CView::OnLButtonDown(nFlags, point);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐