C Builder의 양식 내에서 OpenGL 프레임을 렌더링하고 싶지만 제공된 OpenGL 시작 코드를 따를 때 문제가 발생합니다. 이 문제를 어떻게 해결할 수 있습니까?
TForm::Handle을 창 핸들로 활용
해결책은 TForm::Handle을 창 핸들로 사용하는 데 있습니다. 창 핸들.
샘플 구현
다음은 이전 버전의 C Builder에서 적용한 예입니다.
<code class="cpp">int TForm1::ogl_init() { if (ogl_inicialized) return 1; hdc = GetDC(Form1->Handle); // Get device context PIXELFORMATDESCRIPTOR pfd; // Set pixel format for the DC ... // Create current rendering context hrc = wglCreateContext(hdc); if (hrc == NULL) { ShowMessage("Could not initialize OpenGL Rendering context !!!"); ogl_inicialized = 0; return 0; } if (!wglMakeCurrent(hdc, hrc)) { wglDeleteContext(hrc); // Destroy rendering context ogl_inicialized = 0; return 0; } // ... ogl_inicialized = 1; return 1; }</code>
추가 참고 사항
위 내용은 TForm::Handle을 사용하여 C Builder 양식에서 OpenGL 프레임을 렌더링하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!