VC++6.0和VS2005在编写MFC应用程序时,操作方面的差异

VC++6.0和VS2005在编写MFC应用程序时,操作方面的差异

一直用VC++6.0,对VS2005不太了解,下面简单的熟悉一下VS2005的一下功能,总结一下VS2005在编写MFC时候的应用。

1.    菜单项:

VC6.0一样,也是找到资源视图,点击menu资源,在上面新建自己的菜单项。只是‘属性’,陈列的方式不同,VS2005陈列在右下角;在VC6.0中,我们对菜单项建立类向导,而在VS2005中,点右键,选择的是:‘添加事件处理程序’,然后再对话框里选择相应的消息类型,在类列表中选择要添加的哪个类中。点击‘添加编辑’按钮即可。

2.    对话框:

和VC6.0一样,也是找到资源视图,点击menu资源,可以编辑现有的对话框,亦可以点击右键,选择插入对话框。在界面的右上部分,有各种控件,和VC6.0一样的。如何拖动,摆放空间等等。右下角显示各个控件的属性。修改属性是非常方便的。对于按钮控件,我们也可以右键,添加时间处理程序。对于添加基于对话框的类,只需要双击对话框资源,就会出现MFC的类向导,填写类名,选择基类,一般基类默认为时CDialog类。有时候,第一次使用类向导的时候,会因为VS2005和IE8不兼容的问题,这个时候,只需要到网上查一下错误原因,增加一个注册表项,并设置好相应的值即可。

3.    为MFC的类添加Windows消息

在VC6.0中,我们只需要在类视图中右键类名,选择添加windows消息处理函数即可,而在VS2005中,右键类名之后是没有这个选项的。VS2005将windows的消息放在了类属性里面了。具体做法如下:打开类视图,选中一个类,然后在右下边的属性边框里面,点击‘消息’标签,再点中要添加的消息,比如WM_LBUTTONUP,点中之后,注意观察,被点中的消息栏最右边,有一个向下的箭头,点一下那个箭头,就会出现‘<添加>LbuttonUp’标签。点击这个标签之后,光标就跳转到消息处理函数中了,在这里编写相应的代码即可。

4.     类视图的用法习惯

在VC6.0中,我们要想看某个类的定义,直接双击类视图中的类名即可。在VS2005中,我们也可以进行相同的操作。但是,当我们想看类的成员变量的时候,我们会发现,点开类名左边的那个小加号,出现的不是类的成员变量和成员函数,而是出现了两个扩展项,分别是:映射和基类型;那么怎么才能看到类的成员变量和成员函数呢?细心观察,就会发现,当你点中一个类的时候,它下面的一个页面栏中已经列举出了该类的成员函数和成员变量。双击它的成员函数,光标自动定位到该函数的实现位置了。

5.     添加成员函数和成员变量

这一点,VC6.0和VS2005是差不多的,点击右键,选择添加,在选择变量或者函数,就会出现相应的对话框,在里面填写相应的属性即可。

6.    为控件关联变量
VC6.0中,可以非常方便的为一个控件关联变量。只需要对控件点击右键,建立类向导,一步一步往下做就可以了;由于我们对VC6.0已经非常的习惯了,所以感觉很方便;其实,在VS2005中,为控件关联变量更容易了!只需要对控件点击右键,选择添加变量,就会出现一个‘添加成员变量向导’的对话框,这个对话框非常的清晰!用户可以选择变量的访问属性、变量类型、变量名、控件ID、类别等属性;需要注意的是:VS2005将关联的变量进行了类别的分类(Control类别和Value类别);比如,我们对一个编辑框控件关联变量时,如果我们想要改变编辑框的外观及属性,那么我们就选择Control类别,为其关联一个CEdit对象;如果我们想要获得编辑框的值,我们就可选择Value类别;选择不同的类别,在变量类型中所显示的种类不同!!

7. 添加类和添加资源

在VS2005中,我们可以在类视图中,对工程名点击右键,选择添加,在添加中我们可以选择类,然后进入类的页面,继续选择MFC类,….;添加资源也是如此,点击添加资源;后续的操作和VC6.0基本一致;

时间: 2024-10-08 03:50:51

VC++6.0和VS2005在编写MFC应用程序时,操作方面的差异的相关文章

VC++6.0实验环境下,请问数据库程序怎么在界面显示?

问题描述 VC++6.0实验环境下,请问数据库程序怎么在界面显示? VC++6.0实验环境下,有没有简单的,包含用户登录的数据库界面编程的案例?请问数据库程序怎么在界面显示? 解决方案 http://download.csdn.net/download/chengxuaihzh/2931146 解决方案二: [C++]实验一:使用VC++6.0环境编写C++程序

c语言-VC++6.0开发工具,打开串口,重叠IO操作,提示有访问冲突,求大神指点

问题描述 VC++6.0开发工具,打开串口,重叠IO操作,提示有访问冲突,求大神指点 #include #include LRESULT CALLBACK WndProc (HWND hwnd UINT msg WPARAM wParam LPARAM lParam); #define WM_TRANSFINISHED (WM_USER + 1) typedef struct{ HWND hwnd; HANDLE hComm;}PARAMS *PPARAMS; int WINAPI WinMai

vc++6.0如何实现还原消息在打开对话框时不响应,最大化后再还原时才响应

问题描述 vc++6.0如何实现还原消息在打开对话框时不响应,最大化后再还原时才响应 vc++6.0如何实现还原消息在刚打开对话框时不响应,最大化后再还原时才响应.(如:我在还原消息响应MessageBox("a"),当我一打开对话框是就执行了消息,我是想只有当我最大后再向下还原时才MessageBox("a")),该怎么实现啊?? 解决方案 加上一个bool值作为成员变量,最大化的时候设置为true,还原的时候判断,如果这个值被设置为1,就执行

关于使用vs2015编写mfc应用程序的问题

问题描述 关于使用vs2015编写mfc应用程序的问题 解决方案 最简单的,并且不需要考虑图像格式的办法,打开画图,打开图片,然后全选复制,在你的这个界面上粘贴,就搞定了. 解决方案二: 添加资源,右击,导入图片. 解决方案三: 如何添加现有的图片? 解决方案四: 添加资源,然后资源中选择你对应的图片,程序中就可以使用对应的资源ID来调用

跪求 帮忙-VC++6.0 环境下,怎么能够使程序运行后的黑框直接变成全屏显示

问题描述 VC++6.0 环境下,怎么能够使程序运行后的黑框直接变成全屏显示 VC++6.0 环境下,win32 console application下编一个什么样的程序能够使输出的黑框变成全屏?例如 #include main() { printf("你好n"); } 这个简单程序中添加上哪些代码就能够使输出的黑框直接占满整个电脑屏幕?麻烦哪位大侠给帮个忙,并把修改后的完整程序附上,小弟不胜感激!

讲解关于编写跨平台Java程序时的注意事项

使用Java语言编写应用程序最大的优点在于"一次编译,处处运行",然而这并不是说所有的Java程序都具有跨平台的特性,事实上,相当一部分的Java程序是不能在别的操作系统上正确运行的,那么如何才能编写一个真正的跨平台的Java程序呢?下面是在编写跨平台的Java程序是需要注意的一些事情:1.编写Java跨平台应用程序时,你可以选择JDK1.0,1.1,1.2或支持它们的GUI开发工具如:Jbuilder,Visual Age for Java 等等,但是必须注意你的Java程序只能使用

序列化和反序列化技术在编写Socket应用程序时的应用

我们在编写与Socket有关的应用程序时,在发送软为复杂的数据时,可能我们最常做的是把各个部分的数据转换为字符串,然后将这些字符串用一个分隔符连接起来进行发送.不过,不知道你有没有想过这样做还是有问题的. 比如,我用#来分隔各个字符串,在根据客户端输入的内容到服务器端进行查找,然后返回结果,万一用户输入的查找关键字中就包含#,那么就会影响我们对字符串进行分割了. 不知道各位有没有想过,把序列化和反序列化的技术也用到socket上?先定义一个封装数据的类,发送前将该类的对象序列化,然后发送:接收时

VS2010平台编写CLR窗口程序时遇到错误LNK2022

问题描述 1>MSVCURTD.lib(mstartup.obj):errorLNK2022:元数据操作失败(80131195):自定义特性不一致:(0x0c000109).1>MSVCURTD.lib(mstartup.obj):errorLNK2022:元数据操作失败(80131195):自定义特性不一致:(0x0c00010e)......出错源于在Form1.h头文件中添加了一个类(位置在#pragmaonce上方),奇怪的是就算把该类删除,运行程序依然会得到同样的错误.恳请高手看看是

在VC++6.0中利用串行通信控件

目前,在用计算机进行数据传输时,常用的是串行通信方式.在Visual C++的编程中,既可以用Windows API函数进行串行通信编程,也可以利用环境自带的控件进行编程.利用 API函数编写实际应用程序时,往往要考虑多线程的问题,这样编出来的程序不但十分庞大,而且结构比较复杂,继承性差,维护困难.但是使用串行通信控件就相对简单一些,而且功能强大,性能安全可靠. 本文以Microsoft Communications Control(version 6.0)为例,介绍串行通信控件在VC++中的使