欢迎来到天天文库
浏览记录
ID:24793424
大小:937.50 KB
页数:312页
时间:2018-11-15
《visualc++6.0实例教程(全套课件)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VisualC++6.0实例教程第2章文档和视第3章对话框与控件第4章菜单、快捷键和控制条第5章图形操作第6章文件操作第7章MFC通用类第8章异常处理和诊断第9章多线程第2章文档和视内容摘要:通过视类与用户交互通过视类与用户交互返回目录2.1通过视类与用户交互学习目标1.在程序中响应鼠标消息在程序中响应键盘消息2.1返回第2章程序的实现步骤利用AppWizard生成单文档程序框架(DocView)为视类添加数据成员2.1BOOLm_bMouseDown;//标识鼠标左键是否按下HCURSORm_hCross;//十字型鼠标
2、句柄HCURSORm_hArrow;//标准型鼠标句柄CPointm_ptOld;//临时点CPointm_ptStart;//画线的起始点3.在构造函数中初始化成员变量CDocViewView::CDocViewView(){m_bMouseDown=false;m_hCross=AfxGetApp()->LoadStandardCursor(IDC_CROSS);m_hArrow=AfxGetApp()->LoadStandardCursor(IDC_ARROW);}2.1voidCDocViewView::OnLBu
3、ttonDown(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultm_bMouseDown=true;//鼠标左键按下m_ptStart=point;//画线的起点m_ptOld=point;//临时点SetCapture();//将鼠标消息发送到视窗口CRectrect;GetClientRect(&rect);//得到客户窗口的大小ClientToScreen(&rect);//将当前窗口坐标转换成屏幕坐标Clip
4、Cursor(&rect);//把鼠标限定在其参数指定的矩形区域内SetCursor(m_hCross);//设置鼠标形状为十字形CView::OnLButtonDown(nFlags,point);}4.为视类添加鼠标动作响应函数2.1voidCMyDrawView::OnMouseMove(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultif(m_bMouseDown){CClientDCdc(this);dc.S
5、etROP2(R2_NOT);dc.MoveTo(m_ptStart);//这两行代码擦除从起点(鼠标按下点)到dc.LineTo(m_ptOld);//上次鼠标移动到的位置之间的临时线dc.MoveTo(m_ptStart);//这两行代码从起点到鼠标当前位置画线dc.LineTo(point);//m_ptOld=point;//鼠标当前位置在下一次鼠标移动事件看来就是"旧位置"}CView::OnMouseMove(nFlags,point);}4.为视类添加鼠标动作响应函数voidCMyDrawView::OnLB
6、uttonUp(UINTnFlags,CPointpoint){if(m_bMouseDown){m_bMouseDown=false;ReleaseCapture();ClipCursor(NULL);CClientDCdc(this);dc.SetROP2(R2_NOT);dc.MoveTo(m_ptStart);//这两行代码擦除从起点(鼠标按下点)到dc.LineTo(m_ptOld);//上次鼠标移动到的位置之间的临时线dc.SetROP2(R2_COPYPEN);dc.MoveTo(m_ptStart);//这
7、两行代码从起点到鼠标当前位置画线dc.LineTo(point);//SetCursor(m_hArrow);//设置鼠标形状为标准箭头形}CView::OnLButtonUp(nFlags,point);}2.1程序的实现步骤_21.为视类添加数据成员为视类添加数据成员2.1intm_nLine;//记录已输入字符行数CStringm_strDisplay;//保存当前字符串的变量2.在构造函数中初始化成员变量CDocViewView::CDocViewView(){//TODO:addconstructioncodeh
8、erem_nLine=0;m_bMouseDown=false;m_hCross=AfxGetApp()->LoadStandardCursor(IDC_CROSS);m_hArrow=AfxGetApp()->LoadStandardCursor(IDC_ARROW);}3.为视类添加键盘消息响应函数
此文档下载收益归作者所有