从C/C++过渡到VC真的有点不适应, 我读的第一本和第二本书是《windows系统编程》与《windows程序设计》,
读第一本的时候,就有点不适应, createfile函数, 从来没有见过参数这么复杂的函数,终于理解到了WINDOWS API的复杂,
不同于C/C++标准库精简容易, 第一本书读到线程进程这一章就再来读不下去了, 即使通过大量的GOOGLE与MSDN以及重复地读都没有办法读下去, 放弃了。 第二本书好一些, 因为已经理解到了WINDOWS API的复杂, 所以有点心理准备, 读到第十三章的时候(图象篇)发现难度太大, 有些地方查阅大量的MSDN仍然觉得有点难, 所以基础篇反复地读, 反复地读,终于有点感觉了, 了解到了WINDOWS的一点内部机制, 但是我写程序还是得参看例子, 通过模仿才能写出来,API太多了, 有些参数的意义
没有办法记, 比如说CHOOSEFONT对话框中的logfont结构,打开保存对话框的一些结构,作者在最后提供的那个记事本程序,我觉得没有一定的时间很难消化, 且不说其中复杂的结构了,还必须了解UNICODE,以前觉得自己知道点UNICODE, 读到这里才发现自己根本不明白UNICODE以及ANSI字符集,太复杂了……我想问一下大家在学windows程序设计有什么感觉, 我的感觉就是:有点难, 必须反复地读,大量的实践才能理解,
还不知道MFC长什么样子,MFC那不更难了?

解决方案 »

  1.   

    MFC是为了方便开发封装的一个框架。
    前期来说,比用SDK直接写程序方便太多了,最开始你会感觉跟VB一样。
    关于VC的函数确实是。
    但是有个好处就是函数名几乎上都是单词的组合,长时长了点,很好记。
    而且函数参数你会感觉很多,除了常用的之外没有人记得住的,所以MSDN是VC开发人员必备的。
      

  2.   

    哈哈,为了更形象,给楼主找了个DX的例子。
    HRESULT D3DXCreateVolumeTextureFromFileInMemoryEx(
      LPDIRECT3DDEVICE9 pDevice,
      LPCVOID pSrcData,
      UINT SrcDataSize,
      UINT Width,
      UINT Height,
      UINT Depth,
      UINT MipLevels,
      DWORD Usage,
      D3DFORMAT Format,
      D3DPOOL Pool,
      DWORD Filter,
      DWORD MipFilter,
      D3DCOLOR ColorKey,
      D3DXIMAGE_INFO * pSrcInfo,
      PALETTEENTRY * pPalette,
      LPDIRECT3DVOLUMETEXTURE9 * ppVolumeTexture
    );
    这个谁能记住?就算这个你经常用能记住,这种函数还有很多。
    所以说不用老是惦记着这个函数怎么用,那个参数是什么。把更多的经历放在业务逻辑上吧。
    另外:windows程序设计 这本书很经典,讲问题讲的也很透彻,正是因为如此,有些不适合初学者看。
    特别是前面第一章将字符集的那章,如果没有在平常中遇到的问题以及代码作为理解的话看着是非常头痛的。
    LZ好好加油!
      

  3.   

    windows api中的函数确实是通过英文组合而来, 这是一个好处,多看多用几次差不多也能记住,学了一段时间的windows程序设计, 我同学推荐我看MFC, 我对基础篇的一些函数还是比较了解, 可以去看看MFC吗?
    是不是有点太急躁了?他们说封装的MFC有点像面向对象的c++, 有点好奇……
      

  4.   

    先了解下windows的消息机制吧,windows程序都是基于消息的。
    看看孙鑫老是的视屏教程吧,第一个例子就是一个SDK创建对话框的例子,然后把消息机制将了一下,接着就是MFC了。
      

  5.   

    消息机制我了解一些, windows会为每一个程序准备一个消息队列,WM_PAINT, WM_SIZE什么的,然后发给WndProc了, 由他处理, 其实我发现WinMain都挺相同的, 消息驱动程序不同, 我只是觉得自己基础不够,
    我同学只是叫我去啃API, 啃上一段时间再来MFC, 这样更好