我想问一下:如何判断CWnd::GetDC()返回的CDC的对象是私有设备环境的,通用设备环境的的,还是类设备环境的.
如何判读该CDC的对象是刚刚创建的还是已经用过的?
并且如果CDC的对象是刚刚被创建的,那么使用的默认属性值是多少?(比如getbkcolor()返回的属性值)谢谢。

解决方案 »

  1.   

    你为什么要这么做?????CWnd::GetDC()
    This method obtains a pointer to a common, class, or private device context for the client area, depending on the class style specified for the CWnd是那种设备环境是依赖于CWnd这个窗口的类风格来定的.
      

  2.   


    我这么做是因为CWnd::GetDC() 返回的通用设备环境类型的CDC是默认值,而其他类型返回的是上一次设定的值。class style 有很多项啊,确定CDC类型的是哪个项呢??谢了。
      

  3.   

    DWORD dwClassStyle = GetClassLong(hWnd, GCL_STYLE);
    if (dwClassStyle & CS_OWNDC)
    ...私有DC