两个都可以直接创建windows窗体,这两个在应用上有什么不同?
感觉MFC的控件和属性设置功能不如windows窗体应用程序,怎么MFC属性里面好像大部分都只能设置TRUE、FALSE?
我感觉MFC好像没windows窗体应用程序灵活,但软件大部分都是用MFC吧?那windows窗体应用程序有什么用呢?
33 个解决方案
#1
那个是托管的吧
不过用MFC的软件确实不多。
不过用MFC的软件确实不多。
#2
MFC是对Windows API的封装。目的是让Windows编程更加容易,尽管事实不是这样。
#3
分类细一点,Windows窗体在CLR子类下面,是C++.net的
#4
那事实是怎样的?
#5
事实是2楼不对……
#6
事实是MFC让Windows编程更复杂了。
#7
在MFC里玩 宏 那套把戏,试图去调试宏,调试MFC的消息,那自然很复杂,也是delphi、C++builder、QT用户一直的说辞,可是……谁让你去折腾那些了,拖几个控件,加几个响应函数不就完了么……让你用MFC区化的界面能有多复杂?
#8
mfc是更快速,复杂是肯定的。
#9
我觉得MFC还是很不错的。
#10
存在了这么多年,总是有道理的。
#11
那二者到底有什么区别?????
#12
窗体(Form),是.net的术语,严格来说他不算标准的C++了,而是.net
#13
我想知道它们在应用上的区别,开发软件一般用哪一个?
#14
不好说,但是如果你想用.net的话,直接用C#了,C++.net没什么价值
#15
呵呵,就我的理解来讲解MFC和windows窗体程序的区别吧:
首先我要对反对MFC的人一点质疑,很明显一个东西存在这么多年,和肯定有它的道理,何况只要微软不倒,他的东西就有人用,因为就结合性来说,微软自己的东西肯定是勿庸置疑的。大家都说MFC封装得太差,但它的高效性,你们承认不,网易的首席游戏制作人云风也说:微软开发MFC的架构还是有一定的道理。总之一句话:还有很多人在用;
相信每一本讲解MFC程序的书都会讲到这个区别,加油,建议看看《深入浅出MFC》是一本不错的书,笔者以幽默诙谐的语调让你轻松掌握MFC的来龙去脉,好好咀嚼,让你受益非浅!
首先我要对反对MFC的人一点质疑,很明显一个东西存在这么多年,和肯定有它的道理,何况只要微软不倒,他的东西就有人用,因为就结合性来说,微软自己的东西肯定是勿庸置疑的。大家都说MFC封装得太差,但它的高效性,你们承认不,网易的首席游戏制作人云风也说:微软开发MFC的架构还是有一定的道理。总之一句话:还有很多人在用;
从结果来看,完全一样
但过程上来看,MFC就要简单的多。
因为MFC用windows 窗体应用程序写了很多工具,可以直接使用,可以让我们的工作简化很多
MFC的开发方法和windows 窗体应用程序完全不同。
如果要用,就是先用windows 窗体应用程序先写成MFC,再进行开发。
运行起来两者并没有不同,MFC其实就是封装了大部分的API,这样你调用一个MFC函数或new一个MFC的类相当于调用了很多API函数了,这样就节省了大量的时间了;两者的开发方法有点不同,MFC注重于现在类的重用;API方法注重于能熟悉使用WINDOWS API上。
相信每一本讲解MFC程序的书都会讲到这个区别,加油,建议看看《深入浅出MFC》是一本不错的书,笔者以幽默诙谐的语调让你轻松掌握MFC的来龙去脉,好好咀嚼,让你受益非浅!
#16
初学者应该选择哪个呢?
#17
哪个更常用呢???
#18
我一直有一个疑问:在windows应用程序里面可以轻松设置界面(字体、大小、颜色……),怎么到了MFC应用程序就不行了?
#19
哇,学习。
#20
VC++.Net
#21
MFC 通过GDI提供的函数来设置的
#22
函数?没有可视化界面么?
#23
以前玩VB、windows窗体程序的时候,都可以直接用属性栏对空间设置,怎么MFC要用函数?杯具……
#24
这个问题也是我想问的。~``
#25
因为Windows窗体这个说法容易误导人,应该叫Windows Forms是.NET引入的,可以像C#、VB.NET那样可以拖拽编程,.NET库把所有操作系统细节都封闭了,你使用各种控件的功能时就像VB6那样时由运行库代劳很多细节,你不需要知道对话框模板或GDI画刷之类的。不过程序是解释执行的,而且必须带.NET组件安装包才能发布。不过一般的程序也能接受。
不过对于VC开发的程序,大多数还是用MFC做的,因为考虑MFC是编译非解释,效率更高。如果想用.NET完全可以用语法更简洁的C#,.NET下C++自身的很多功能比如指针什么的就不能随便用了、VC++.NET总有些不伦不类。
不过用MFC比纯用Windows SDK写C程序要方便很多了,用SDK写就是那个“Win32项目”,所有控件的创建和消息处理都必须自己动手,稍微大一点的程序就很难管理了。而MFC点几下就能产生一个SDI/MDI框架,开发效率已经提高很多倍了。对各种Windows功能的封装、文档视图结构什么的都大大简化了绘图、打印、保存等操作。虽然是十几年前就成熟的东西,但是到现在来说还是宝刀未老
#26
windows API是更低层的,MFC又封装了一次,那当然低层的灵活了。
#27
学习了,现在才知道MFC和Forms的区别,还有.net这种东西。VS2010中除了MFC,好像还有很大比例的Forms部分。
#28
要是有编译版的.net就好了,MFC用起来不习惯,太复杂,比直接用windows API还要复杂。
#29
学习了。。。。。
#30
#31
说的不错
#32
说的很好
#33
以前打开visual studio2010 vc++ 语言也有个windows窗口应用程序,c#语言也有。搞不清楚这两者有什么区别,那个好用。既然C#已经有了windows窗口应用程序,vc++也搞了一个,还不好用。
#1
那个是托管的吧
不过用MFC的软件确实不多。
不过用MFC的软件确实不多。
#2
MFC是对Windows API的封装。目的是让Windows编程更加容易,尽管事实不是这样。
#3
分类细一点,Windows窗体在CLR子类下面,是C++.net的
#4
那事实是怎样的?
#5
事实是2楼不对……
#6
事实是MFC让Windows编程更复杂了。
#7
在MFC里玩 宏 那套把戏,试图去调试宏,调试MFC的消息,那自然很复杂,也是delphi、C++builder、QT用户一直的说辞,可是……谁让你去折腾那些了,拖几个控件,加几个响应函数不就完了么……让你用MFC区化的界面能有多复杂?
#8
mfc是更快速,复杂是肯定的。
#9
我觉得MFC还是很不错的。
#10
存在了这么多年,总是有道理的。
#11
那二者到底有什么区别?????
#12
窗体(Form),是.net的术语,严格来说他不算标准的C++了,而是.net
#13
我想知道它们在应用上的区别,开发软件一般用哪一个?
#14
不好说,但是如果你想用.net的话,直接用C#了,C++.net没什么价值
#15
呵呵,就我的理解来讲解MFC和windows窗体程序的区别吧:
首先我要对反对MFC的人一点质疑,很明显一个东西存在这么多年,和肯定有它的道理,何况只要微软不倒,他的东西就有人用,因为就结合性来说,微软自己的东西肯定是勿庸置疑的。大家都说MFC封装得太差,但它的高效性,你们承认不,网易的首席游戏制作人云风也说:微软开发MFC的架构还是有一定的道理。总之一句话:还有很多人在用;
相信每一本讲解MFC程序的书都会讲到这个区别,加油,建议看看《深入浅出MFC》是一本不错的书,笔者以幽默诙谐的语调让你轻松掌握MFC的来龙去脉,好好咀嚼,让你受益非浅!
首先我要对反对MFC的人一点质疑,很明显一个东西存在这么多年,和肯定有它的道理,何况只要微软不倒,他的东西就有人用,因为就结合性来说,微软自己的东西肯定是勿庸置疑的。大家都说MFC封装得太差,但它的高效性,你们承认不,网易的首席游戏制作人云风也说:微软开发MFC的架构还是有一定的道理。总之一句话:还有很多人在用;
从结果来看,完全一样
但过程上来看,MFC就要简单的多。
因为MFC用windows 窗体应用程序写了很多工具,可以直接使用,可以让我们的工作简化很多
MFC的开发方法和windows 窗体应用程序完全不同。
如果要用,就是先用windows 窗体应用程序先写成MFC,再进行开发。
运行起来两者并没有不同,MFC其实就是封装了大部分的API,这样你调用一个MFC函数或new一个MFC的类相当于调用了很多API函数了,这样就节省了大量的时间了;两者的开发方法有点不同,MFC注重于现在类的重用;API方法注重于能熟悉使用WINDOWS API上。
相信每一本讲解MFC程序的书都会讲到这个区别,加油,建议看看《深入浅出MFC》是一本不错的书,笔者以幽默诙谐的语调让你轻松掌握MFC的来龙去脉,好好咀嚼,让你受益非浅!
#16
初学者应该选择哪个呢?
#17
哪个更常用呢???
#18
我一直有一个疑问:在windows应用程序里面可以轻松设置界面(字体、大小、颜色……),怎么到了MFC应用程序就不行了?
#19
哇,学习。
#20
VC++.Net
#21
MFC 通过GDI提供的函数来设置的
#22
函数?没有可视化界面么?
#23
以前玩VB、windows窗体程序的时候,都可以直接用属性栏对空间设置,怎么MFC要用函数?杯具……
#24
这个问题也是我想问的。~``
#25
因为Windows窗体这个说法容易误导人,应该叫Windows Forms是.NET引入的,可以像C#、VB.NET那样可以拖拽编程,.NET库把所有操作系统细节都封闭了,你使用各种控件的功能时就像VB6那样时由运行库代劳很多细节,你不需要知道对话框模板或GDI画刷之类的。不过程序是解释执行的,而且必须带.NET组件安装包才能发布。不过一般的程序也能接受。
不过对于VC开发的程序,大多数还是用MFC做的,因为考虑MFC是编译非解释,效率更高。如果想用.NET完全可以用语法更简洁的C#,.NET下C++自身的很多功能比如指针什么的就不能随便用了、VC++.NET总有些不伦不类。
不过用MFC比纯用Windows SDK写C程序要方便很多了,用SDK写就是那个“Win32项目”,所有控件的创建和消息处理都必须自己动手,稍微大一点的程序就很难管理了。而MFC点几下就能产生一个SDI/MDI框架,开发效率已经提高很多倍了。对各种Windows功能的封装、文档视图结构什么的都大大简化了绘图、打印、保存等操作。虽然是十几年前就成熟的东西,但是到现在来说还是宝刀未老
#26
windows API是更低层的,MFC又封装了一次,那当然低层的灵活了。
#27
学习了,现在才知道MFC和Forms的区别,还有.net这种东西。VS2010中除了MFC,好像还有很大比例的Forms部分。
#28
要是有编译版的.net就好了,MFC用起来不习惯,太复杂,比直接用windows API还要复杂。
#29
学习了。。。。。
#30
#31
说的不错
#32
说的很好
#33
以前打开visual studio2010 vc++ 语言也有个windows窗口应用程序,c#语言也有。搞不清楚这两者有什么区别,那个好用。既然C#已经有了windows窗口应用程序,vc++也搞了一个,还不好用。