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

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

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);
}

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