CClientDC Clientdc(this);中this指的是什么?还有this应该怎么用?什么时候用到?

解决方案 »

  1.   

    this指的是当前类的指针,指向当前语句所在的类本身。
    this一般在两种情况用到:
    一是变量构造时,作为参数传递给变量。比如CClientDC Clientdc(this),表明取得的DC是该语句所在的类的DC。
    另一种情况是当出现相同函数名,且调用函数会造成调用不明确时,可以用到,比如:
    用户自定义了CTestView:Draw()与库函数中的::Draw()重名。如果用户在CTestView::Test()函数中调用自定义的Draw()函数,可以这样使用,“this->Draw();”(或者可以直接写成“Draw();”),则表明调用的是CTestView::Draw()。
      

  2.   

    呵呵,这是C++的基础知识.有空要复习一下了
    看来是直接上来就学MFC的,必须找时间补一下C++,否则有些地方很容易混的,继承,虚函数,重载都比较头痛
      

  3.   

    继承,虚函数,重载我都明白,以前这块学得挺明白的,现在就是this这块有点乱
      

  4.   

    推荐侯俊杰的《深入浅出MFC》
    太经典了
    我一口气就差点看完了
    呵呵·~爱不释手~
      

  5.   

    你应该看一下MSDN
    这里研究THIS不是从THIS的普遍意义上去研究,而是应该看到这个CClientDC的构造要求
    explicit CClientDC(
       CWnd* pWnd 
    );
    pWnd
    The window whose client area the device context object will access.
    意思是在对CClientDC进行构造的时候,要求一个参数,该参数是用来访问的设备描述表所在的窗口指针。