常用控件(一)4主要内容使用ClassWizard进行消息映射键盘和鼠标消息映射计时器消息其他窗口消息的映射控件的创建方法控件的消息及消息映射控件的数据交换和数据校验结合Ex_SDI使用ClassWizardClassWizard概述打开MFC的ClassWizard的方法:选择“View”“ClassWizard”菜单或直接使用Ctrl+W快捷键在源代码文件的文档编辑窗口中,右击鼠标,选择ClassWizard命令当ClassWizard打开后,lassWizard对话框打开MFC的ClassWizard消息和消息映射消息分类Windows应用程序中的消息主要有三种类型。窗口消息(Windowsmessage)主要指由WM_开头的消息,一般由窗口类和视图类对象来处理窗口消息往往带有参数,以标志处理消息的方法控件的通知消息(Controlnotifications)当控件的状态发生改变时,MAND通知消息应用程序框架处理控件消息的方法和窗口消息相同,但按钮的BN_CLICKED通知消息除外,mandmessage)主要包括由用户交互对象(菜单、工具条的按钮、快捷键等)MAND通知消息命令消息的处理方式与其他两种消息不同,它能够被多种对象接收、处理,这些对象包括文档类、文档模板类、应用程序本身以及窗口和视类等而窗口消息和控件的通知消息是由窗口对象接收并处理的,这里的窗口对象是指从CWnd中派生的类的对象包括CFrameWnd、CMDIFrameWnd、CMDIChildWnd、CView、CDialog以及从这些类派生的对象等ClassWizard映射消息的一般方法示例:向CEx_SDIView中添加WM_LBUTTOMDOWN的消息映射,则可按下列步骤进行:(1)按Ctrl+lassWizard对话框(2)在Classname组合框中,将类名选定为CEx_SDIView(3)在ObjectIDs列表框中选定CEx_SDIView,而在Messages列表中选定WM_LBUTTOMDOWN消息(4)双击Messages列表中的WM_LBUTTOMDOWN消息或单击[AddFunction]按钮,都会在CEx_SDIView类中添加该消息的映射函数OnLButtonDown,同时在Memberfuncions列表中显示这一消息映射函数和被映射的消息ClassWizard映射消息的一般方法ClassWizard映射消息的一般方法(5)单击[EditCode],转向文档窗口,定位到OnLButtonDown源代码处(6)添加下列代码:voidCEx_SDIView::OnLButtonDown(UINTnFlags, CPointpoint){ //TODO:Addyourmessagehandlercode//hereand/orcalldefault MessageBox("你好,我的VisualC++世界!", "问候",0); CView::OnLButtonDown(nFlags,point);}(7)运行程序,在窗口客户区左击,弹出一个消息对话框ClassWizard映射消息的一般方法查看CEx_SDIView程序代码,可以发现:ClassWizard为WM_LBUTTOMDOWN的消息映射作了以下三个方面内容的安排:1):protected: //{{AFX_MSG(CEx_SDIView) afx_msgvoidOnLButtonDown(UINT nFlags,CPointpoint); //}}AFX_MSG DECLARE_MESSAGE_MAP()
简要回顾 来自淘豆网www.taodocs.com转载请标明出处.