预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

任务2鼠标键盘消息的响应 一、综合课程实习目的 1.了解鼠标键盘消息的响应。 2.了解MFC类库中RECT,CPOINT,CDC。 3.使用VisualC++开发简单Windows程序。 二、综合课程实习内容 1.利用VisualC++6.0设计一个鼠标在客户区点击时的坐标,并显示键盘的输入。 2.菜单与图形的绘制。 三、综合课程实习指导 新建一个AppWizard(exe)MFC的SDI应用程序MyHello,其它接受默认设置。。 为视图类添加数据成员: 在CMyHelloView中加入下面变量:CStringm_MousePoint;右击CMyHelloView类,”AddMemberVariable”。 在视图类的构造函数中初始化 CMyHelloView::CMyHelloView() { //TODO:addconstructioncodehere m_MousePoint=""; } 修改屏幕重画函数OnDraw() voidCMyHelloView::OnDraw(CDC*pDC) { CMyHelloDoc*pDoc=GetDocument(); ASSERT_VALID(pDoc); //TODO:adddrawcodefornativedatahere pDC->SetTextColor(RGB(r,g,b)); //dc.SetTextColor(RGB(r,g,b)); CFontfont; font.CreatePointFont(nsize,"Arial",pDC); CFont*def_font=pDC->SelectObject(&font); TEXTMETRICtm; pDC->GetTextMetrics(&tm); CreateSolidCaret(tm.tmAveCharWidth,tm.tmHeight); ShowCaret(); CSizesc=pDC->GetTextExtent(m_strDisplay); CPointpt; pt.x=sc.cx; pt.y=sc.cy-sc.cy; SetCaretPos(pt); pDC->TextOut(0,0,m_strDisplay); pDC->TextOut(100,100,m_MousePoint); } 添加鼠标消息WM_LBUTTONDOWN响应函数 ——类向导菜单View→ClassWizard→MessageMaps ClassName:CmyHelloView(选择); ObjectIDs:CMyHelloView(选择); Messages:WM_LBUTTONDOWN(选择); 单击“AddFunction” 同样方法,在CMyHelloView类中,添加鼠标消息WM_LBUTTONUP和WM_MOUSEMOVE的响应函数。 编写消息响应函数代码 voidCMyHelloView::OnLButtonDown(UINTnFlags,CPointpoint) { //TODO:Addyourmessagehandlercodehereand/orcalldefault m_MousePoint.Format("鼠标左键在点(%d,%d)按下",point.x,point.y); Invalidate();//使系统让用户区无效,从而调用重画函数OnDraw() CView::OnLButtonDown(nFlags,point); } voidCMyHelloView::OnLButtonUp(UINTnFlags,CPointpoint) { //TODO:Addyourmessagehandlercodehereand/orcalldefault m_MousePoint="鼠标左键被释放"; Invalidate(); CView::OnLButtonUp(nFlags,point); } voidCMyHelloView::OnMouseMove(UINTnFlags,CPointpoint) { //TODO:Addyourmessagehandlercodehereand/orcalldefault m_MousePoint.Format("鼠标位于点(%d,%d)按下",point.x,point.y); Invalidate(); CView::OnMouseMove(nFlags,point); } 编译运行程序并查看结果。 当用户对键盘进行操作时,会产生响应的消息,系统将把此消息发送到对应的窗口。改造MyHello程序,添加相应键盘的字符输入。声明视图类的数据成员: intm_nLine;//存储回