文档详情

ClassWizard类向导的使用课件.ppt

发布:2017-08-07约字共32页下载文档
文本预览下载声明
ClassWizard 类向导;一、概述 利用MFC应用程序向导生成应用程序框架后,需要为 程序添加消息处理成员函数和对话框控件的成员变 量,有时还需要为程序添加新的MFC派生类,那么这些可 以通过ClassWizard类向导来实现。 MFC ClassWizard类向导根据程序开发人员的要求以 半自动化的方式添加程序代码,也是进行MFC应用程序设 计时一个必不可少的交互式工具。 ;MFC管理类的方式;二、ClassWizard的启动 只有在打开或创建了一个项目后,在View主菜单中才会出 现ClassWizard类向导菜单项。 ;处理消息映射,为消息 添加或删除处理函数;消息映射;消息发送和消息处理的一般过程为: 消息发送——消息映射——消息处理。 ; 鼠标事件和鼠标消息;●鼠标事件的处理 MFC把鼠标消息处理函数封装在CView类中。;参数nFlags用来描述鼠标按钮和键盘上Shift键和Ctrl键的组合状态。其取值如下表: ;【例1】在视图窗口单击鼠标左键弹出一个“Hello, the world!”消息框。;在头文件EXAMPLE1View.h中声明消息处理函数OnLButtonDown: protected: //{{AFX_MSG(CEXAMPLE1View) afx_msg void OnLButtonDown(UINT nFlags, CPoint point); //}}AFX_MSG DECLARE_MESSAGE_MAP( ) ;在实现文件EXAMPLE1View.cpp消息映射入口处,添加了相应的映射宏: BEGIN_MESSAGE_MAP(CEXAMPLE1View, CView) //{{AFX_MSG_MAP(CEXAMPLE1View) ON_WM_LBUTTONDOWN( ) //}}AFX_MSG_MAP // Standard printing commands …… END_MESSAGE_MAP();在实现文件EXAMPLE1View.cpp中写入一个控的消息处理函数的框架,以便开发人员填入具体的程序代码: void CEXAMPLE1View::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default CView::OnLButtonDown(nFlags, point); };【EXAMPLE 2】在视图窗口跟踪鼠标的当前位置,并且在视图的客户区显示鼠标的坐标值。 ;2. 窗口事件和窗口消息;【EXAMPLE 3 】给一个窗口程序添加关闭和打开时的消息,使之能在打开和关闭时有小消息框提示。 ;【例4】在视图窗口单击鼠标左键或右键分别弹出不同的消息框,显示单击鼠标左键或右键的次数。;【例5】在视图窗口单击鼠标左键弹出一个对话框,对话框。;关联对话框控件的成员变量;三、案例演示;案例分析及设计步骤: 1、利用MFC应用程序向导生成单文档(Single Document)应用程序框架。;2、利用资源编辑器添加资源:在本案例中是一个对话框(鼠标单击左键后弹出这个对话框),在对话框上要添加四个按钮(Button)和一个编辑框(Edit)。;(3)拖入控件,设计对话框。;控件与关联变量之间的数据内容传递,UpdateData( )函数。 其原型如下: BOOL UpdateData ( BOOL b =TRUE ); 当 b 赋值为TRUE时,将控件的内容传送给对应的成员变量,当 b 赋值为FALSE时,将成员变量的值传送给控件并更新控件的显示。 ;3、通过ClassWizard类向导创建新类,添加关联对话框控件的成员变量。;4、打开TestView.cpp文件,在CTestView::OnDraw(CDC* pDC)函数中添加代码,如下(红色代码为添加代码): void CTestView::OnDraw(CDC* pDC) { CTestDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here pDC-TextOut(10,10,单击鼠标左键激活弹出对话框!); };5、通过ClassWizard类向导进行消息映射,主要包括:在视图窗口左键单击(WM_LBUTTONDOWN)、在对话框上单击四个按钮(BN_CLICKED)。;6、编写具体的函数代码。;void CShowDlg
显示全部
相似文档