HDC=hdc;
hdc=::GetDC(m_hWnd );
这里的m_hWnd 是什么意思?   为什么要在句柄前面加上m_
谢谢

解决方案 »

  1.   

    m_hWnd应该CWnd的成员变量
    m_hWnd是采用匈牙利命名法
    m是member,类成员
      

  2.   

    CWnd::m_hWnd  The handle of the Windows window attached to this CWnd. HWND m_hWnd;
     
      

  3.   

    看下面简单的代码结构class CWnd
    {
    private:
        HWND m_hWnd;
    };class CYourWindow : public CWnd
    {
        void OnPaint()
        {
            HDC hDC = ::GetDC(m_hWnd);
            ::ReleaseDC(m_hWnd, hDC);
        }
    };
      

  4.   

    m_开头代表是成员变量,通常是某实例的某个性记号,hwnd代表窗口句柄。
    连一起就是某有窗口性质的类的某个具体实例的窗口句柄。
      

  5.   

    因为类内就是把句柄定义成 m_hWnd 了,你不这样写还要怎么写
      

  6.   

    如果不想使用 m_hWnd,那么使用 GetSafeHwnd() 来获取吧
      

  7.   

    是的,一楼讲得很明白了,这个是传下来的命名法,
    那个hwnd是窗口句柄,需要调用这个窗口的时候,就需要得到它的句柄先。
      

  8.   

    是的,一楼讲得很明白了,这个是传下来的命名法,
    那个hwnd是窗口句柄,需要调用这个窗口的时候,就需要得到它的句柄先。
      

  9.   


    每一个窗口都有一个属于他自己的 句柄(m_hWnd)
    如楼上所说 m_hWnd 这样的命名只是一种规范而已    你myWindow  myWnd  abcwnd  m_aaaWnd都可以  但是这样的命名是很不符合规范的   只会让人费解   你可以去了解一下‘匈牙利命名法’
    至于这个m_就是member(成员)的意思      m_命名开头的变量以我的理解是全局变量 也就是‘该类的全局变量’hdc=::GetDC(m_hWnd);
    ::代表该函数为系统API函数(调用自操作系统的API函数)
    GetDC 意思是获得一个 指向客户区的公用的、属于类的或者私有的设备环境的指针。
    参数m_hWnd 在你这里的意思是获取你当前类窗口的设备环境指针
      

  10.   

    hdc=::GetDC(m_hWnd ),m_hWnd为窗口的句柄。整个函数的意思就是将该句柄标识的窗口作为一块画布进行绘制,当然这只是一个比方
      

  11.   

    m_hWnd是一个CWND类的成员变量,用来保存于窗口相关联的窗口句柄。