- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MFC编程知识要点
特别注意:红色有框的部分,考试不做要求(即:15,21,30,34,48,49)。
1、MFC应用程序中,应用程序类的基类是CWinApp;
2、C/C++程序中有且只有一个main函数!在MFC应用程序中没有main函数,但是有且只有一个WinMain函数!
3、MFC把WinMain函数隐藏了,我们在程序中看不到,程序员能看到的是App类中的公有成员函数InitInstance函数!这个函数是CWinApp类中定义的虚函数。MFC应用程序从应用程序类的InitInstance函数开始,到ExitInstance结束。因此,程序员可以在应用程序类的InitInstance函数中可以添加全局变量的初始化工作,在应用程序类的ExitInstance函数中进行全局内存资源的释放工作。
4、MFC中对话框类为CDialog;
5、创建模态对话框的方法是调用CDialog类的DoModal函数,该函数的返回值代表用户是按下哪一个按钮返回的;“模态对话框”的含义是:即在该对话框关闭之前,其它窗口无法获得输入焦点!
6、在MFC对话框中显示提示信息使用函数AfxMessageBox
7、对话框类使用DDX/DDV机制将对话框窗口和控件窗口关联起来,DDX/DDV的代码不需要自己手工修改,可以直接使用VC中的向导界面来设置;
8、CDialog::UpdateData的函数的使用
MFC使用DDX/DDV机制将对话框类的成员变量和对话框中控件的数据关联起来。
DDX/DDV在类向导界面中设置。
需要了解类向导设置了DDX/DDV后,代码发生了哪些变化,DDX/DDV关联的成员变量在对话框类的构造函数中初始化。
编程时可以调用CDialog类的成员函数UpdateData更新有DDX/DDV关联的成员变量和控件中的数据。
在对话框类的消息响应函数OnOK中,第一句就应该是UpdateData(TRUE);以便于启动DDV检验或者在自己检验数据合法性之前获得最终的成员变量值。
9、对话框类中控件和成员变量的初始化可以重载CDialog类的消息响应函数OnInitDialog,这个函数对应的消息为WM_INITDIALOG;
10、退出模态对话框一般可以选择响应按钮IDOK或者IDCANCEL的消息函数OnOK或者OnCancel
11、要求熟悉并掌握:按钮(CButton)、静态控件(CStatic)、编辑框(CEdit)三种控件的使用。
12、在MFC中,文档类的基类是 CDocument,是专门为数据处理设计的类。
13、在MFC中,视图类的基类是CView,是专门处理数据显示的类。视图是一个没有边框的窗口(CView是CWnd的派生类)。它位于框架窗口的客户区。视图不能独立存在,必须依附于一个框架窗口(CFrameWnd)。
MFC中文档模版类为CDocTemplate,有两个派生类CSingleDocTemplate和CMultiDocTemplate,分别代表单文档模版类和多文档模版类。
在应用程序类的InitInstance函数中需要注册文档模版类,典型的代码如下:
了解MDI和SDI应用程序的区别;
在视图类中,文档数据的显示通过重载函数CView::OnDraw完成。
为了显示文档中的数据,在视图类中需要获得视图类所关联的文档类指针。这可以通过视图类的成员函数GetDocument完成。
当文档数据发生变化时,需要通知与文档类相关联的所有视图类更新显示。有两种方法:(1)调用CDocument类的成员函数UpdateAllViews;(2)调用CDocument类的成员函数GetFirstViewPosition 和 GetNextView;
在视图类中需要更新显示时,可以简单的调用下述Invalidate函数即可。
文档视图类的应用程序中,工具栏和状态栏的创建和初始化代码写框架窗口类CMainFrame的WM_CREATE消息响应函数OnCreate中;
在应用程序中可以调用函数AfxGetApp获得应用程序对象指针;调用AfxGetMainWnd函数获得主窗口对象指针;
下拉式菜单和工具栏按钮主要响应消息WM_COMMAND和UPDATE_COMMAND_UI;
右键菜单:也称为快捷菜单或者上下文菜单。当用户点击鼠标右键时,右键菜单就会出现在光标所在位置;右键菜单是通过CMenu类及其成员函数在程序运行过程中动态创建的;右键菜单的创建和显示一般在WM_CONTEXTMENU消息响应函数中编程实现;
主要的鼠标消息:
WM_MOUSEMOVE:鼠标移动
WM_LBUTTONDOWN:左键按下
WM_LBUTTONUP:左键弹起
WM_LBUTTONDBLCLK:双击左键
WM_RBUTTONDOWN:右键按
文档评论(0)