2009-07-30 66 views

回答

2

我想哟可以渲染到任何窗口上下文。
简单获取HWND并将其用于上下文创建。

void EnableOpenGL(HWND hWnd, HDC * hDC, HGLRC * hRC) 
{ 
    PIXELFORMATDESCRIPTOR pfd; 
    int iFormat; 

    // get the device context (DC) 
    *hDC = GetDC(hWnd); 

    // set the pixel format for the DC 
    ZeroMemory(&pfd, sizeof(pfd)); 
    pfd.nSize = sizeof(pfd); 
    pfd.nVersion = 1; 
    pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | 
        PFD_DOUBLEBUFFER; 
    pfd.iPixelType = PFD_TYPE_RGBA; 
    pfd.cColorBits = 24; 
    pfd.cDepthBits = 16; 
    pfd.iLayerType = PFD_MAIN_PLANE; 
    iFormat = ChoosePixelFormat(*hDC, &pfd); 
    SetPixelFormat(*hDC, iFormat, &pfd); 

    // create and enable the render context (RC) 
    *hRC = wglCreateContext(*hDC); 
    wglMakeCurrent(*hDC, *hRC); 
} 
1

我设法把它放在图片框,使用this examplemodification,你必须只到COpenGL构造改为图片框(以前表格)。但是,无论如何,只有最后一个picturebox才会呈现。仍在努力...

相关问题