1
有些概念有点模糊了
hdc=::getDC(hWnd);获取当前dc的句柄

{
CClientDC dc(this);
hDC=dc.GetSafeHdc、hDC=dc.m_hDC、hDC=dc.m_hAttribDC
}
获得的是否一样?CPaintDC是个什么DC?
::getDC(hWnd)获取的到底是那种句柄?已知一个CDC *pDC;
能否用一个CDC *m_dc//全局变量
m_dc=pDC;
但是用m_dc->TextOut的时候却出错:该内存不能为"read",难道还需要为m_dc分配内存?如何分配?2
消息的问题
WM_CLOSE
WM_DESTROY
WM_QUIT
的区别?3
获得窗口句柄的时候hwnd=m_hWnd,但是如果用::m_hWnd的话提示
error C2039: 'm_hWnd' : is not a member of '`global namespace''--- (疑问产生的原因:在工作区输入:"::"后可以在提示框里面找到m_hWnd,还有很多其他的函数和变量也都这样,我以前的理解:::调用api函数,但是如果有同名覆盖的情况就调用新的函数)

解决方案 »

  1.   

    已知一个CDC *pDC;
    能否用一个CDC *m_dc//全局变量
    m_dc=pDC;
    但是用m_dc->TextOut的时候却出错:该内存不能为"read",难道还需要为m_dc分配内存?如何分配?
    ===
    你所说的pDC是什么?临时变量???如果pDC只是在某个函数内定义的,那显然是不行的。在函数运行结束后,pDC的内容就被系统回收了。所以你用m_dc自然是不行了。
      

  2.   

    有些概念有点模糊了
    hdc=::getDC(hWnd);获取当前dc的句柄

    {
    CClientDC dc(this);
    hDC=dc.GetSafeHdc、hDC=dc.m_hDC、hDC=dc.m_hAttribDC
    }                                        
    获得的是否一样?                        是一样的!
    CPaintDC是个什么DC?                    DC 是无关设备画图!!
    ::getDC(hWnd)获取的到底是那种句柄?    是获得窗口画图!
      

  3.   

    已知一个CDC *pDC;
    能否用一个CDC *m_dc//全局变量
    m_dc=pDC;
    但是用m_dc->TextOut的时候却出错:该内存不能为"read",难道还需要为m_dc分配内存?如何分配?PDC是系统设置的变量当染不能自己定义一个来使用啊!!