小弟我有一个自己创建的类(非窗口类,跟CWnd没有关系),但是其中一函数需要使用 CDC 类的一些函数,例如是 GetGlyphOutline()函数,请问有什么方法可以获得 在这个类中获得设备上下文? 

解决方案 »

  1.   

    GetGlyphOutline()你用来做什么、?
      

  2.   

    这样行不行:
    //
    #include "stdafx.h"
    //
    class  CNotWnd
    {
    public:
    CNotWnd();
    void Init();
    };void CNotWnd::Init()
    {
    CWnd *pWnd=AfxGetMainWnd();
    CDC* dc=pWnd->GetWindowDC();
    }
      

  3.   

    非常谢谢schlafenhamster兄弟,我要先试一试,等这类测试成功了,我再给分,请稍等一天。
      

  4.   

    HDC hdc = ::GetDC(NULL);
    ....
    ReleaseDC(hdc);
      

  5.   

    HDC dc = CreateDC(_T("DISPLAY"),0,0,0);
    最后DeleteDC(dc);
      

  6.   

    非窗口类对象是没有设备上下文环境(CDC)的,只能是通过间接方式得到其他窗口的CDC或者屏幕的CDC,或者是内存DC。