C++MFC快速超简单入门.docx
《C++MFC快速超简单入门.docx》由会员分享,可在线阅读,更多相关《C++MFC快速超简单入门.docx(24页珍藏版)》请在冰豆网上搜索。
C++MFC快速超简单入门
C++MFC快速超简单入门学习
注意:
红色字体为重要的信息,必须理解并记住。
在学习MFC之前,你必须对C++的“类和对象有一定的认识和理解,因为MFC就是C++完全的面向对象设计,它里面封装了好多类,我们只要调用就OK,就像C语言调用库函数一样,直接使用,这就是C++
第一特性:
封装性,第二性就是继承与派生,
这个在MFC中体现得淋淋至间(字打错了)。
如果不懂,我再来解释一下,例:
有一个商品类,classGOODS商品属性有名字,价格
它可作为一个基类,我可以派上出苹果类,classApple:
publicGOODS.苹果属性出了继承了商品的属性名字,价格之外,还可派生出,颜色,等属性,继承与派生就是一个是另一个的子集,但是这个子集不仅包括父集的特征,还具有一些新的特性,懂了吧,这样。
MFC其中重要的类是:
CDialog对话框类,CEdit,(编辑框类)CButton,(按钮类)CRadio(单选钮类),这些都是作为基类,
由我们自己定义的类去派生它们。
好了,现在先了解一下什么是MFC吧,请看当前目录下的MFC入门知识的幻灯片1—20张,或大概的浏览一下当前目录下的其它连个word文件,后面的幻灯片我觉得没必要看了,因为是快速吗,节约时间,(首先看不懂没关系,)但
但看完之后,必须掌握如下知识:
1.MFC是作什么用的?
与以前我们写的C,C++语言有什么不同。
以及它的一些优点,
不同,以前的是控制台的界面不好看,不友好,操作不方便,黑框框的一片。
MFC反之。
优点:
可用极少的代码实现强大的功能,
2.关于MFC的一些术语,概念啊
3.你要知道MFC的对话框是由控件组成的,具有哪些控件(例按钮:
Button,单选钮:
radio,Edit)
例:
要知道MFC的编程的原则,也就是宗旨理念吧,“消息映射,事件驱动“,这句话要记住并理解,很重要,真的。
那到底是什么意思呢?
现实举例:
一个人具备一种“感知“的能力,(也可称消息吧),当用火接近这个人时(发生的事件),就会(驱动)这个人做出反应,远离”火“,
用MFC举例:
一个按钮有什么消息啊,我可以单击它,所以它具备单击的消息:
第一个
就是左键单击的消息,第二个
就是双击的消息,见名思议就OK了。
我单击这个按钮要产生某个事件,
我就可以第一步,先给按钮添加一个消息响应函数,意思就是当我单击按钮时,就调用那个函数,按钮时时刻刻都处于待命的状态,
假如添加的函数如下:
voidCDsDlg:
:
OnButton1()
{
AfxMessageBox(“我单击了这个按钮”);
//这个函数要记住,就是弹出一个消息框.其中的字//符串自己设置。
}
当用户单击了这个按钮时,就会调用上述函数,弹出一个消息框显示“我单击了这个按钮”好了,接下来就看其它控件的消息吧!
接下来的就用实例傻瓜式的教大家怎样创建MFC程序吧,
第五章对话框和常用控件
对话框是Windows应用程序中最重要的用户界面元素之一,是与用户交互的重要手段,在程序运行过程中,对话框可用于扑捉用户的输入信息或数据。
对话框是一个特殊类型的窗口,任何对窗口进行的操作(如:
移动、最大化、最小化等)都可在对话框中实施,一般来说,在对话框中通过各种控件(如:
按钮、编辑框、列表框、组合框等)来和用户进行交互。
控件是在系统内部定义的用于和用户交互的基本单元。
一、对话框的使用
VisualC++提供的对话框编辑器能“可视”地进行设计、编辑,并可用
ClassWizard为对话框从CDialog基类中派生一个类,MFC的CDialog类封装了用于对话框的显示、关闭等操作的许多功能函数,例如:
DoModal函数用来显示模式对话框并返回用户操作的结果。
这个函数先记住吧,会有用的。
例:
CDialogd1;//因为CDialog(对话框类)是MFC已经封装的一个类,就是相当于一个库函数的差不多,库函数晓得吧,例C语言的,printf();这个也是库函数,是输出函数,而这里用类来表示罢了,反正语句就是定义一个
对话框的对象d1;然后我用这个对象就可以直接调用CDialog中得成员函数或成员变量了,(记住定义了某个MFC的封装类的对象后就可以直接使用这个类的函数和成员变量了,)
例:
d1.DoModal();//就是调用对话框类CDialog的成员函数DoModal();打开一个对话框。
那么如何建立对话框?
接下来你要跟着一步一步的去做,
只有实践才能检验真理!
!
!
!
才能学会,学懂!
!
第一步:
单击”文件----新建选择”工程”的下面红色选项.填好工程名,单击确定
:
第二步:
选择红色区域.直接单击”完成”按钮.
第三步;出现如下图界面,
第四步:
删除上图中的默认控件(控件是什么?
例:
按钮,
,静态文本框
,单选钮等这些都是“控件”。
操作:
先选择需要删除的按钮,然后按键盘上得“delete”键就可以删除。
注意了:
当你新建完工程之后,左边会有个这样的窗口:
这叫工作区间:
这里有三种视图,
Class叫类视图,就是系统自动会生成一些类,然后你可以单击这个
按钮之后,快速找到某个类,例:
系统自动生成了三个类,一个全局变量(
),最常用到的是这只有一个类:
接下来你可以单击上图的
加号展开这个类
。
下面的就是这个类的成员函数和成员变量(绿色),你可以双击它们,然后在右边的窗口就可以看到这个成员函数的地方了,这个方法要记住,方便以后查找某个函数在哪里。
是对话框(CDialg)类的派生类,命名的规则“C+“你自己写的工程名”+Dlg。
最常用到的函数是
这个,你现在双击它,然后在右边窗口就可以看到这个函数的实现了,这个函数的意义在于,初始化一些数据。
初始化,晓得吧,就是给某些变量赋初值。
大概这么多,这上面的代码看不懂,没关系,因为具体我也看不懂,绝对不影响你写程序,然后找到这个函数下面的一条语句:
//后面的是注释语句,意思是,在下面添加你的额外的代码,
我们就可以在这下面添加自己要写的代码了,这个注释要记住啊,
在以后我们要添加语句通常都是在这个下面添加,一般每个函数下面都会有。
还有一个函数要了解:
这个函数是什么啊,还记得吗。
对,这个就是CTestDlg的构造函数,
当然你也可以在这里面初始化一些成员变量。
好了,系统为我们生成的类的函数,你只要了解这两个就行了,
哦,对了,如果我想要回到刚才那个“对话框“的绘制界面那里怎么回去呢?
我有办法。
选中下面这个
资源视图,这个视图就是包括一些对话框资源啊,图标资源啊,等。
然后:
单击红色标记就OK了
,这个也要记住啊,
再来了解第三个视图:
文件视图
这几个的意思都晓得吧,应该比我的英文好吧,展开头文件
选择
(老大,我必须说下,我的这个文件名应该和你的会不相同,但是共同点是后面都有个Dlg.h,命名的规则就是工程名+Dlg.h,下同,不再做解释,)这个是最常用到的一个头文件了,记住了。
它能做什么用呢,哦,先来谈下,为什么系统会帮我们这样分配这个MFC的程序呢,为什么把头文件和资源文件分开呢,这个吗,老师也说过了,我们的实验要求是要写成几个文件的,类的定义,及成员变量,成员函数的说明等写在头文件中。
函数的实现写在资源文件中,一般的一个完善的系统开发都是这样的(清晰,明了),所以证明老师说的是正确的。
所以,这个
头文件是干什么的,就不用我说了吧,先双击这个头文件,
,
我们就可以在public中添加我们自己的成员变量了,说明一点,其实我们设计的MFC就是在系统已有的一些函数里,或自己定义的函数里,添加一点点代码,就OK了,
这下面就是函数说明了,
诶呀,不懂的话,我就这样举个例:
我们书上定义类是怎样的啊。
ClassPerson{
Private:
charname[10];
Public:
chargetname(charname1[10]);
}然后在类的外面实现它.
拖动滚动条看下面。
找到程序中的如下函数说明,
这个就是刚才我们说的经常用到的类,首先它在头文件中定义说明
然后在类外中实现,在程序中找到如下函数,找某个函数会找吧,
不懂看前面。
{ ………… }
BOOL返回值,这是返回一个逻辑值,就是“true真或是false假两种情况,CTestDlg:
:
OnInitDialog()就是声明OnInitDialog()是属于CTest这个类懂吧。
好了,基本的情况都介绍了,因为是快速其余系统生成的类中得函数啊,等不知道就不用去研究了,不会影响我们写程序,
先回到对话框这个视图界面:
怎样操作不用我说了吧,单击
,出现
单击
这个是对话框的ID下面会有介绍。
名称你的会不一样啊,找到有命名规则是IDD_你的工程名_DIALOG.
下面先认识控件:
最常用的就是这几种了:
第五步:
绘制对话框界面:
直接拖动右边的某个控件,到左边的对话框界面,绘制下面这个图型:
操作方法:
例:
我先拖动一个“按钮”
到对话框界面。
它会如下显示
,哦,对了,如果你按住CTRL键不动,拖动对话框面板的控件还可以直接复制呢!
然后修改:
按钮的文字。
方法是:
右击该按钮,在弹出的快捷菜单选择“属性”,接着弹出如下图。
分析如下:
ID框:
修改或选择对话框的标识符名称,ID这个术语很重要,要记住“就像一个人有一个名字一样,我知道这个名字,我就能找到这个人。
下面介绍几种常见ID,这个真的要记住啊,而且要理解
IDC_BUTTON1按钮
IDC_RADIO1单选钮
IDC_CHECK1复选框
ID名称可以修改,在这里就不用修改了,使用默认就行了,
但是一般你看见一个ID名称就要知道他是属于那种控件。
很容易记,例:
按钮:
英文就是BUTTON,
标题框:
输入控件的名称,中英文均可。
这里只需修改标题名称改为“确定“就OK了,其余的控件修改名称都是一样的。
好了界面就绘制好了。
接下来,你可以单击编译——运行了,哈哈,是不是发现自己绘制的对话框就显示出来了啊,但是有没有发现“当我单击某个按钮时什么事也没发生,没动静,
这是怎么回事呢,好吧,接下来就注意看了,听我娓娓道来。
我们通过一个登陆对话框的实例来深入学习MFC。
接下来就了解一下怎么去写代码,去实现各个控件的功能吧!
先看最终效果吧!
第一步:
绘制界面就不说了,自己绘制吧,注意各个控件的排版啊,要整齐一点。
只说一点,因为是有个密码输入框,所以你必须设置
这个输入框输入的文字显示为*,不能让别人看见。
操作步骤:
首先右击“这个密码输入框在弹出的快捷菜单中选择“属性”
接着在单击样式选项卡。
选择密码复选框。
其余的地方大家也可自己去了解。
例:
数字选项卡啊,就说明这个输入框中只能输入数字。
好了,接下来,你可测试一下,在,没选这个“密码”和选了这个密码之后的对话框的密码输入框。
输入文字有什么不同吧,。
直接运行程序就可以,记住了,新建工程后,你可以随时都运行你的程序,看效果,
第二步:
为控件添加成员变量,成员函数。
在我们书上的介绍的那种,我们以前学的,是
手工一个一个代码去写去实现添加成员变量,成员函数,但是今天学的MFC就Soeasy
了。
快速添加,不用打代码,我们使用“建立类向导”来添加。
操作方法:
右击对话框面板的空白处(我们称以下这个为“对话框面板“)
选择“建立类向导“弹出如下对话框。
跟你说啊,MFC的一切代码都可以用英文去解释它。
去记住它。
红色标记1
MessageMap消息地图(作用是位消息添加响应函数),也可以方便查看某些控件的消息,何为消息不用我说了吧,前面已介绍了,自己去看,不懂XX,“下面的我都是会根据那句话来做解释“消息映射,事件驱动”
红色标记3这个地方是控件的ID你看这里就ok了
,对象的ID,
何为ID,还用我解释吗,前面自己去看,说了很重要是不是,上面显示了有5个ID,
这5个ID就对应了,对话框的五个控件,就像5张身份证对应5个人一样,
那我们怎么查看某个变量的ID呢,其实前面已经有了,再说下吧,右击某个控件,
选择属性,然后在对话框中你就可以看见它的ID了,
红色标记4这里是
某个控件的消息,前面有些许介绍,
例我们要为登陆按钮,添加一个单击的消息,我们先选中登陆按钮对应的这个ID名称
再选择
单击这个消息:
下面第二个为双击,我们单击一下就OK了,然后再单击红色标记6中得
添加函数,下面我不会在解释了,自己根据英文去理解。
弹出如下图,然后填写一个函数名,随便你自己写
只要跟我们C语言定义函数名一样就行了,我们就是用默认的算了。
然后在红色标记6中就可看到我们添加的消息函数了。
函数名为”OnButton
还要为
按钮添加一个单击函数,自己模仿添加一个。
添加时你要记住哪个函数是登陆的消息函数,哪个是取消的消息函数啊。
接下来我们添加“成员变量“,选择红色标记2
英文成员变量。
如下图
怎样添加呢,我们要为
,用户名输入框和密码输入框添加两个变量。
先选择对应的ID名称
单击红色标记6中得
(添加变量)弹出如下对话框
,
填写一个成员变量,我写的是m_user方便记忆
定义变量知道吧,诶呀就是普通定义变量一样,就像inti;一样
第一个是变量的类别,我们就使用值类型,类型定义浮选择,CString这个是字符串类
你就这样理解跟string是一样的,功能差不多,这个类要记住,以后会用到。
已上就是这样一个定义变量的过程:
CStringm_user;
接下来你就为密码输入框也定义一个变量吧,
一般按钮没有变量,其余的都有变量,所以我们按钮就不定义变量了。
这个也说下吧,就是这个输入框最多可以输入多少个字符。
还有这个
先选择变量,然后可以直接删除它。
这个对话框的其它
选项卡,就不介绍了,用的很少,最后单击确定。
以上这个要记住啊,会经常用到。
第二步:
在我们已经添加的成员函数中写代码。
操作方法如下:
第一步找到该函数。
例我们要在
我们刚已经添加的确定按钮的消息函数中写代码,这个函数名你还记得吗,刚才定义函数的时候我说了要记住它,好吧,没关系,
不记得的话,我们一种办法是重新查看“建立类向导对话框中,属于确定按钮的这个函数。
第二种:
直接双击
这个按钮,我们马上就可跳到这个函数的地方。
这个方法要记住哦,
好了,我们先不急着写代码,先看下我们的类视图
展开
这个类,
是不是看到我们刚才添加的成员函数(即按钮的消息响应函数)和变量在其中啊,哈哈。
我们再来看看,还有没有奇特地方做了修改。
可以这样想,因为我们添加了成员变量,添加了成员函数“
还记得添加“成员变量,成员函数“是哪个文件吗,前面我们已介绍了,好说到这,我必须说下,前面的知识大家一定要记住,OK吗?
当然就是“文件视图中的“头文件”啦!
选择
,展开我们经常用到的头文件“
是不是看到这里多了几行语句:
意思如果你不懂了的话,你就OUT了。
第三步:
接下来回归主题,正式写代码了,注意了啊,看好了,
先找到“确定“按钮的这个函数”自己找吧!
添加如下代码:
代码不是很多,解释多,认真看看吧,
完成了,接下来测试一下吧。
运行这个程序,看是不是当你输入正确的用户名和密码都为123时,才显示“亲。
,恭喜你…………”,错误就“您输入的…………“
此程序我已经测试成功,不要说你的程序有错误啊,
第四步:
还有一个按钮我们没有添加代码呢,就是“取消“
单击这个按钮还没反应,接下来我们就添加如下代码吧:
OnOK();//因为当单击取消,我们就要退出这个对话框,所以这句话的意思就是这样的。
调用一个对话框退出的函数OnOK();这个也要记住了。
注意:
书写这个函数时一定要注意大小写,我猜你今后肯定会出错的,
O大写,n小写OK两个大写,记住了吗?
亲,
今天我们的学习就到这里了哦,
你的程序是否运行成功了呢,
是否还有什么地方不知道的错误呢?
是否感觉MFC很好玩呢?
是否学懂上面的知识了呢?
是否觉得还有什么更好的关于MFC的诚意呢?
是否觉得这个程序还不是很完善呢?
只有一个用户名和密码,而且没有注册,而且信息是显示的,
好吧,这些就留着以后解决吧,
有种方法叫做数据库,数据库就是保存数据的地方,很简但,5分钟就可学会我们要用到的这个数据库的地方了,关键是数据库编程,但绝对不难,就几行代码,实现很大得功能,
想具体了解就看当前目录下VC的数据库编程吧!
不过初学者看不懂就算了,
哦,告诉你哦,现在你已经具备了MFC开发的基础知识了哦,
为以后的开发打下了基础,想深入学习MFC的话,可到网上,或图书馆借书来看看。
如果想看视频:
XX一搜:
就是孙鑫的视频,但我看过一点,觉得一般般,不是很好,还是多看书吧,推荐:
10级通信班大一学期的C/C++程序设计的书,
当时大一第一学期我就是看这本书入门的。
毕竟是教材吗,还是不错的!
课外学习:
添加单选钮,复选框,列表框。
了这几个类的对象的一些成员函数,例:
CEditm_edit1,m_edit2;//定义CEdit编辑框类的对象m_edit1;
m_edit1.SetSel(0,-1);//全选编辑框的内容.
m_edit1.Copy();//利用m_edit2对象调用编辑框类的复制函数复制m_edit1编辑框输入的值。
那么,粘贴呢,知道吧,不用我说了,英文m_edit2.Paste();//复制m_edit1编辑框输入的值,到m_edit2编辑框中。
。
提示。
当你在VC6.0书写
一个MFC对象时。
如m_edit.当你输入完点后就会弹出一系列关于这个类的函数,即使你不记得这个函数怎么写了,你也可以快速从其中找到正确的函数。
自己去写一下这个程序吧,按照上面的教学。
觉对能够做出来。
真的。
去试下吧!
!
!
祝你好运!
!
好,谢谢观赏!
OK,不懂在问吧,