GetDlgItem(IDC_STOP_CLIENT)->EnableWindow(FALSE);
我只知道一个意思:某个类的指针对象调用该类的一个成员函数
这个怎么理解啊?
某个控件的句柄调用API函数?为什么可以这样用啊?谢谢

解决方案 »

  1.   

    a->b,表示a是指针类型啊
    a.b,表示a是类
      

  2.   

    因为getdlgitem返回一个指针,访问指针的成员使用  (*指针).      或者       指针->
      

  3.   

    GetDlgItem通过ID获取一个你指定的窗口内的控件,即通过资源ID找指针,返回的是窗口指针
      

  4.   

    CWnd* GetDlgItem( int nID ) const;
    返回值:
    指向给定的控件或子窗口的指针,既然是指针,就可以用->符号
      

  5.   


    GetDlgItem不是返回一个句柄值啊????怎么返回指针??
      

  6.   


    CWnd* GetDlgItem(
       int nID 
    ) const;
    返回CWnd*,参看MSDN
      

  7.   

    GetDlgItem(IDC_STOP_CLIENT)
    这个函数的返回类型是指针你在vs ide 里面,把 鼠标放在这个函数上面,就会显示他的返回类型
      

  8.   

    楼上几位都没说错,我来整理一下:
    a->b.a是类的指针,b是类的对象,成员函数或者成员变量。
    在你这个例子中,GetDlgItem(IDC_STOP_CLIENT)返回值就是一个类的指针,只不过它是窗口控件类的指针。一个窗口可能有很多控件,GetDlgItem()这个函数只要传入控件的ID,就能返回这个控件的类指针,而EnableWindow(FALSE)正是这个控件类的成员函数。
      

  9.   


    理解了 原来这里的GetDlgItem是成员函数,不是API函数,所以返回的是一个类的指针,而EnableWindow也是该类的成员函数,所以就可以调用了
    非常感谢
      

  10.   


    不太精确,
    a.b 表示a是一个对象。