(1)CWnd* pWnd=this;
(2)HDC pControl=pWnd->GetDC();
这里的this代表什么意思?
另外,CWnd* pWnd=this;与语句CWnd* pWnd;有什么区别?
请大家能发表自己的看法,谢谢!

解决方案 »

  1.   

    this就是指向当前类的指针语句CWnd* pWnd; 指向一个CWnd类的指针pWnd,但是具体是指向哪个CWnd类的实例,没有给出,也就是说没有初始化。
    CWnd* pWnd=this;  初始化指针指向当前类
      

  2.   

    this当前对象
    你得去看C++Primer了
      

  3.   

    (1)this是当前窗口所处的类
    (2)一个实例化,一个未实例化
      

  4.   

    谢谢greatws ,akirya ,zhanghuacheng 的答复。
      

  5.   

    1楼说的不错 this就是存放当前类的地址的指针 
    例如说你在CMyDialog类建立的一个自定义消息,但是消息映射及处理函数却在CMyView类中,因为一般是在哪定义或是建立的消息就在哪处理消息,所以现在的问题是,我闷要如何把CMyDialog和CMyView着2个类中同一个消息完整的联系起来。
      这就要用到了指针,即在CMyDialog类中去获取CMyView类的指针,这时可在CMyView类中定义CMyDialog类的指针对象,然后动态获取CMyView指针 ,即
     CMyDialog *pDlg;
     pDlg=new CMyDialog(this); 这个this就指代CMyView类本身,也就是说pDlg获取了CMyView类的地址。
    后便具体的还有进一步的转化才可以引发这个消息,就不多说了。呵呵
      

  6.   

    this表示当前类对象的指针,所以说this到底代表什么看你的代码写在什么地方,如果写在CMinFrame类中,代表CMainFrame类对象指针,如果写在CView类中,代表CView类对象的指针,写在CDialog类中,代表CDialog类对象的指针.
    2CWnd* pWnd=this;与语句CWnd* pWnd;有什么区别?
    ================
    前面的对pWnd作了初始化,后面没有初始化.
      

  7.   

    他们都说的非常清楚了 ……LZ好好看看C++基础的书