MFC对话框应用程序思想以及运行初探

MFC对话框应用程序思想以及运行初探

ID:40715093

大小:33.50 KB

页数:4页

时间:2019-08-06

MFC对话框应用程序思想以及运行初探_第1页
MFC对话框应用程序思想以及运行初探_第2页
MFC对话框应用程序思想以及运行初探_第3页
MFC对话框应用程序思想以及运行初探_第4页
资源描述:

《MFC对话框应用程序思想以及运行初探》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、MFC对话框应用程序思想以及运行初探 今天进行了对话框应用程序的初探,发现其中是有规律的,并且主要是有“人性化”。 现在以对话框程序,名为test2的工程文件来讲。假如我们只按使用向导生成的应用程序来分析,使用向导的工程有三个类,分别为:CAbouDlg、CTest2App、CTest2Dlg,还有一个全局变量:theApp。 theApp变量的类型为CTestApp,每个MFC工程都有这样一个全局变量,用来表示当前应用程序的实例。因为是全局变量,所以在进入WinMain函数前,先进行创建CTest2App的一个对象,以表示该应用程序产生了,于才进入到WinMain函数……

2、当然,这过程,其实系统已经做了很多的处理了,因为MFC实际上就是封装了大量的API函数,我们在使用这些现成的类时,间接调用的都是API函数。在windows程序设计中,其实一个标准的用C/C++构成的应用程序框架为:1、进入WinMain函数,2、定义窗口类,3、根据情况进行填充窗口类,4、注册窗口类、5、使用CreateWindow函数创建窗口,6、使用ShowWindow显示窗口,7、使用UpdateWindow更新窗口,8、进入消息循环。八个步聚,已成了八古文了。 但是,如果我们在MFC下如果安照上面的八个步骤进行深入地分析,那么就把问题复杂化了,特别是对初学者。人产生于大自然

3、中,也在大自然中发展,我们要改变大自然是很难的,而要改变自己是比较容易的。大自然的澳妙在于变化无穷,给人以美丽、神秘,和憧憬……,我们要发展,就要不断地吐故纳新,接受新的事物,欣然地接受它,转个角度,为已所用! 于是,对于MFC所封装的API,我们不讨论,完全以对象的思维来进行考虑问题,暂时去除经典,建立适合自已的思维模型。可以这样地考虑:在MFC的世界里,任何所看得见的,都可以把它看成是一个对象(这个对象可以看作windows下的对象,也可以看作面向对象设计中的对象),对象之间可以是独立的,也可以是相互联系的。 独立在于,每个对象可以看作对外界封闭,自己可以对自己进行任何的属性修改

4、,使改变自己的形态,也可以操作自己的方法从而使自己产生不同的行为,这些行为(函数或方法)可以独立于其它而进行设计,这就是所谓的独立。例如:我们拖了一个按钮在窗口上,这时,它以资源的形式存在,但实际上它已经和一个CButton类进行关联了,于是,我们就把这个按钮看成是一个对象,这个对象本身有大小,型状等属性,还有方法,(CButton类里装封有很多函数),这些方法可以改变它的文字、改变该按钮本身等操作。这些操作或属性是不受外界影响的(除非别的对象获得了和该对象的联系的纽带----对象指针或句柄,下边讨论到),无论你把它移到窗口的任何地方。同时,如果我们要在这个对象上添加我们新的方法或属

5、性,我们就要创建一个新的类来继承它,再在这个新的类上添加我们想添加的方法或属性,不然如果我们不新建新类,那么我们新添加的新方法或新属性放在哪里?我们总该有地方来放我们新的代码吧?于是新建一个新类,并继承一个CButton是必要的,因此我们可以创建一个新类,如myCButton,其基类为CButton,myCButton这个对象比原来的特性多点,这是没关系的,我们也以一样的方法关联到一个控件按钮上,并且以一样的思维把它看成是一个对象,只不过它”大“点而已嘛,也一样有同类对象的特点。OK这就是它的独立性。 相互联系在于,每个对象都有一个句柄和一个对象指针,只要外界的其它类型的对象获得了,

6、哪么其它的对象就可以和它联系了,并且可以对它进行操作,甚至完全控制。比如说我们在上边的test2工程中,有这几个类,其们之间都有联系,CAboutDlg类和CTest2Dlg有父子的关系,在CAboutDlg中通过GetParent()函数,就可以获取父类的指针,于是子类就可以向父窗口进行操作或通信了;同理,CTest2App和CTest2Dlg也有关联,theApp这对对象就是指向CTest2Dlg的,可以通过AfxGetApp()函数获取CTest2App类对象的指针,当然也可直接使用theApp对象进行对CTest2App的操作;而theApp对象里有一个成员变量m_pMain

7、Wnd,它是CTest2Dlg的指针类型,于是,CTest2App对象就可以对CTest2Dlg对象进行操作了。这就是在MFC中,每个对象都可以找得到关联,关且都可以对对方进行一定的操作。 我们知道如下的一个helloword的程序:#include intmain() { printf("helloword!"); return0; } 它的执行入口是main函,我们知道C语主的入口函数都是从main函数开始的,而MFC程序的入口

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。