bestainan 发表于 2013-11-6 10:56:01

仰望天上的光 发表于 2013-11-6 10:56:02

friendan 发表于 2013-11-6 20:46 static/image/common/back.gif
楼主基本概念不清:

win32调用的是API,调用过程很原始,没有经过封装。


其实MFC挺鸡肋的,C++基础不够的话看不懂MFC的结构,最多也就是利用wizard把一些常用的操作记下来,这本质上不能算掌握了MFC。如果C++功力高一些,一般也不会选择MFC。毕竟做一些简单的事情,MFC非让你打包一堆wizard生成的无用的垃圾,这些自动生成的代码看着都恶心。如果事情非常简单,用sdk足够了,稍微复杂一些也是用轻量级的界面库。

小亮1201 发表于 2013-11-6 11:46:24

首先这里lz先理清几个概念:MFC是微软公司提供的一个类库,以C++类的形式封装了Windows的API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。而API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。在使用MFC

小亮1201 发表于 2013-11-6 11:52:56

(没写过,点错了)在使用MFC的过程中肯定会接触Windows的API函数,而WIN 32表示的是WINDOWS操作系统32位环境。一般用MFC编程所使用的环境要不是win32,要不就是win64。
其次,学习有一个循行渐近的过程,先去把C++基础打扎实,然后才可以学习MFC编程,这个时候楼主上面所说的东西都会涉及到。C++的MFC学习建议楼主看孙鑫VC++视频教程,C++基础视频网上就太多了。

福禄娃娃 发表于 2013-11-6 11:56:45

以下是我的一些看法:
用C++在Windows下开发软件都是调用Windows操作系统提供给你的API,实现功能。
Win32编程也就是SDK,使用C语言可以编写有GUI的程序。
MFC是一个微软基础类库,把API层层封装起来了。是一个框架,现在C++框架有挺多,仰光大哥也说过学一个框架是不够的,ATL、QT等。
建议先学SDK,也就是Win32 API编程,这样你对程序的细节更为了解后再去学那些库(框架)

cyousui 发表于 2013-11-6 17:40:12

先把基础打扎实,学好c++先!

仰望天上的光 发表于 2013-11-6 18:42:13

楼主可以学完C++后看看《C++实践之路》这本书,里面有讲述如何用C++直接封装windows api。这本书看起来可能需要一定的C++基础,但看懂后,就可以自己开发个简易的C++图形界面库了。

omycat988 发表于 2013-11-6 18:52:12

恩恩,要学好C++基础,然后WIN32 API,再然后是MFC,对吧

cyousui 发表于 2013-11-6 19:18:40

C++是与计算机交流的工具,如果C++没掌握好,那就是沙地筑高台了。

福禄娃娃 发表于 2013-11-6 20:26:16

仰望天上的光 发表于 2013-11-6 18:42 static/image/common/back.gif
楼主可以学完C++后看看《C++实践之路》这本书,里面有讲述如何用C++直接封装windows api。这本书看起来可能 ...

《C++实践之路》这本书没看过,下载看看,谢啦仰光哥

福禄娃娃 发表于 2013-11-6 20:30:36

仰望天上的光 发表于 2013-11-6 18:42 static/image/common/back.gif
楼主可以学完C++后看看《C++实践之路》这本书,里面有讲述如何用C++直接封装windows api。这本书看起来可能 ...

仰光大哥还有什么好书推荐么?范围广点没有关系,你刚才推荐这本《C++实践之路》都没听过,我了解的太少了。

仰望天上的光 发表于 2013-11-6 20:43:41

福禄娃娃 发表于 2013-11-6 20:30 static/image/common/back.gif
仰光大哥还有什么好书推荐么?范围广点没有关系,你刚才推荐这本《C++实践之路》都没听过,我了解的太少了 ...
还有如head first系列的书入门学习都不错,该系列很多像什么java,深入浅出面向对象分析等都不错。主要是在自己有一定的C++基础,特别是熟练掌握各种智能指针的编写和使用后,很容易将这些书上的面向对象知识用到C++上。

friendan 发表于 2013-11-6 20:46:04

本帖最后由 friendan 于 2013-11-6 20:50 编辑

楼主基本概念不清:

win32调用的是API,调用过程很原始,没有经过封装。

mfc调用的也是API,调用过程方便,API已被封装。

日后楼主有一定的功底,也可以自己封装API。

到此该学什么你还用问么。
我的方法是:先理解下API的基本用法,然后边学MFC,边学API,

毕竟MFC封装了API,学MFC跟学API没什么区别。

如果说用API是骑自行车,那么用MFC就是开汽车了,方便吧。

思来想去 发表于 2013-11-6 21:01:14

单纯的开发软件的话推荐java。

福禄娃娃 发表于 2013-11-6 21:11:07

仰望天上的光 发表于 2013-11-6 21:01 static/image/common/back.gif
其实MFC挺鸡肋的,C++基础不够的话看不懂MFC的结构,最多也就是利用wizard把一些常用的操作记下来,这本质 ...

你的意思是不建议学MFC,那如果需要学习C++库的话,建议学哪个呢?跨平台的也行,不限于Windows自家的。希望可以推荐下

仰望天上的光 发表于 2013-11-6 21:26:16

福禄娃娃 发表于 2013-11-6 21:11 static/image/common/back.gif
你的意思是不建议学MFC,那如果需要学习C++库的话,建议学哪个呢?跨平台的也行,不限于Windows自家的。希 ...

首先,先看一些windows程序设计第5版前几章的知识,大概看到对话框就足够了。接着你看看《C++实践之路》里面是如何封装这些API的。看完,再看看C++之父BS写的《C++程序设计原理与实践》里面的图形界面编程,他是使用一个叫做fltk的库啦实现的。不过最重要的是要体会到,牛人编写界面,一开始并不是考虑使用哪个库来实现,而是自己定义出一些类和这些类的使用方式,然后选择合适的库来实现自己的类。要认真看这两本书,努力让自己达到这种境界,认为达到后,你可以用windows sdk自己来实现C++程序设计原理与实践》里的一些类。做完这个工作以后,你就可以随心所欲的使用界面了,使用一些界面库的时候也能猜到它们是如何设计的。我觉得在这个阶段才可能完全明白MFC的设计原理,甚至自己写出一个简易版本的MFC,但此时你一定会觉得MFC是如此丑陋以至于你不屑于去自己实现它。

福禄娃娃 发表于 2013-11-6 22:02:50

仰望天上的光 发表于 2013-11-6 21:26 static/image/common/back.gif
首先,先看一些windows程序设计第5版前几章的知识,大概看到对话框就足够了。接着你看看《C++实践之路》里 ...

多谢这么详细的解答,这一定是你多年的经验,我已经保存起来了。我会按照着这个路线来的,听君一席话胜读十年书。
避免了不必要走弯路,谢谢仰光大哥。

乱闯 发表于 2013-11-7 01:22:02

仰望天上的光 发表于 2013-11-6 21:26 static/image/common/back.gif
首先,先看一些windows程序设计第5版前几章的知识,大概看到对话框就足够了。接着你看看《C++实践之路》里 ...

给LZ加精,我正在学习win32 api
页: [1]
查看完整版本: 求助 求助