TCHAR szWindowClass[MAX_LOADSTRING];
ATOM MyRegisterClass(HINSTANCE hInstance){...}
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){}
IMPLEMENT_DYNCREATE(CTmpOcxCtrl, COleControl)
象这样的一些语句,看起来有点迷惑。其实,我已经把C++的语法都看过了一遍。为什么还是看不懂VC的程序啊。
MyRegisterClass()和WndProc()的返回值怎么是那样一个结果啊?
IMPLEMENT_DYNCREATE(CTmpOcxCtrl, COleControl)又是什么意思?
VC是不是自定义了很多的数据类型啊?我去书店翻了很多VC的书,好象都没有介绍这些内容的,现在不知道该怎么学习VC++了,请大家指点。

解决方案 »

  1.   

    建议看看Charles Petzold的《windows程序设计》
      

  2.   

    C++ ->《windows程序设计》 -> 深入浅出MFC -> Visual C++技术内幕
      

  3.   

    其实VC并没有自己定义数据类型,只是使用了大量的宏。建议你去看看侯捷先生的《深入浅出MFC》。
      

  4.   

    个人认为 C++比较难学
    所以不能急的  
    C++是VC的基础 但是不是可以迅速过渡的
    光凭示例  可能很难理解
     rockersz(天生我菜必有用) 说的很对啊     
    建议楼主 针对自己的情况  
    C++ ->《windows程序设计》 -> 深入浅出MFC -> Visual C++技术内幕
    来进行过度  心急吃不了热豆腐啊
      

  5.   

    《深入浅出MFC》里面有你想要的大多数答案!!
      

  6.   

    那些数据结构不是c++本身语言上的数据类型,而是windows sdk和mfc定义出来的数据类型
      

  7.   

    刚开始学没必要把这些宏啊,结构啊什么的搞清楚. 从杂志上找些例子来,输到VC里面编译玩玩.然后自己找个目标写个程序. VC熟了之后,如果还想知道那些宏是干嘛的,再去看. 我就到现在也不懂 IMPLEMENT_DYNCREATE 是什么意思, 但我也不必知道.
      

  8.   

    呵呵
    我用了1年的时间
    把C++ ->《windows程序设计》 -> 深入浅出MFC -> Visual C++技术内幕
    大概扫一遍了,你问的问题我都会,可是我一行代码也编不出,我该怎么办???1:TCHAR szWindowClass[MAX_LOADSTRING];TCHAR其实就是char,只所以这样是因为,方便anic和unicode代码的转化 参考《windows programming》一书
    2:ATOM MyRegisterClass(HINSTANCE hInstance){...}
    这个是mfc的appwizard生成的代码用来注册窗口结构,ATOM为RegisterClassEx函数返回的原子值,可标示程序注册后的地址,详细情况请看《windows95程序设计指南》一书3:LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){}
    LRESULT为32返回值,其实也就是long值,CALLBACK前缀表示该函数为回调,回调函数是os调用的函数,你自己不能调用!
    4:IMPLEMENT_DYNCREATE(CTmpOcxCtrl, COleControl)
    这个用来动态生成对象,同时也是串化的基础,因为早期的c++不支持动态生成对象,所以mfc采用宏来实现!!
    去看深入浅出mfc还有什么不明白的?这些我都明白,可为什么我还是一行程序都没编出来???为什么??郁闷~~~~~~~~~~~~
      

  9.   

    强烈看看windows程序设计那本书了。不然的话真的看了一头雾水的。