2023年7月18日发(作者:)
实验四 MFC程序的界面设计
要求:
1 利用ApplicationWizard,创建单文档/视图结构应用程序。
2 编程要求:在客户区中点击鼠标左、右键时,弹出消息框,显示当前鼠标坐标。
在View类中响应鼠标消息(WM_LBUTTONDOWN / WM_RBUTTONDOWN等消息)
3 编程要求:在客户区中按下字符时,弹出对话框,显示当前按下的字符,并添加相应的代码
在View类中响应键盘消息WM_CHAR,并添加相应的代码
实验步骤
1. 新建工程
新建一个工程,工程名称为Mouse,工程类型为MFC AppWizard(exe),应用程序类型为单文档/视图结构,最终会得到一个框架程序。
2. 定义鼠标消息处理函数
选择“查看”菜单下的“建立类向导”菜单项,调出如图1所示的类向导界面。
图1
由于对客户区鼠标消息的处理封装在视图类中,所以在图1所示的界面中,Class name选择CMouseView,Object IDs选择CMouseView,Messages选择WM_LBUTTONDOWN,然后单击Add Function按钮,添加消息WM_LBUTTONDOWN的处理函数,最后单击Edit Code按钮,进入该函数的代码编辑区,,如图2所示。 图2
在如图1.3所示的鼠标消息处理函数中添加下列代码,捕捉鼠标当前坐标。
void CMouseView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
MessageBox("you have pressed the left
button",”Mouse”,MB_YESNOCANCEL | MB_ICONWARNING);
CView::OnLButtonDown(nFlags, point);
}
在如图1所示的界面中,用同样的方法添加消息WM_RBUTTONDOWN的处理函数,在该函数中添加下列代码。
void CMouseView::OnRButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CString str;
("按下了鼠标右键,当前x坐标为%d,当前y坐标为%d",point.x,point.y);
MessageBox(str);
CView::OnRButtonDown(nFlags, point);
}
3. 编译运行程序,测试执行结果
点击左键:
点击是,再单击右键:
发布者:admin,转转请注明出处:http://www.yc00.com/web/1689609896a270349.html
评论列表(0条)