我试了以下方法在一个在DIALOG::ONCREATE()
中加入如下代码:
HWND  hWnd=GetSafeHwnd();
if(hWnd==NULL)
AfxMessageBox("buildlisthwnd");
HDC hDC=::GetDC(hWnd);
if(hDC==NULL)
AfxMessageBox("buildlistHDC");
结果是NULL
换成HWND  hWnd=this->GetSafeHwnd();
结果也是NULL
请问如何解决
如何获得我的HWND 
注:我的对话框是单文挡下要显示的
在线等候

解决方案 »

  1.   

    这个问题我以前遇到过,你不能在OnCreate函数里获得窗口句柄,因为此时窗口正在创建之中,因而无法获取其句柄,等窗口创建完以后你就可以获取句柄了,所以在OnInitDialog()中调用hWnd=this->GetSafeHwnd();就可以了。
      

  2.   

    你的对话框在OnCreate()之后才会真正创建窗口,所以,在OnCreate()中,是得不到窗口句炳的
    换个地方吧
      

  3.   

    那再请问HDC hdc=::GetDC(hWnd);能得到设备描述表吗
      

  4.   

    再问经过上述以后我想进行如下操作可是结果还是NULL
    HGLRC m_hGLContext=NULL;     
         m_hGLContext=wglCreateContext(hDC);
    如何解决
      

  5.   

    不要在OnCreate()中,可以在初始化函数里
      

  6.   

    楼上都说了,来晚了:(
    得到hwnd都失败,得到窗口dc肯定失败了,你那些东东都放在OnInitDialog()中试一下呢