Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Membuat Bingkai OpenGL dalam Borang C Builder Menggunakan TForm:: Handle?
Saya mahu memaparkan bingkai OpenGL dalam bentuk dalam C Builder, tetapi saya menghadapi masalah apabila mengikuti kod permulaan OpenGL yang disediakan. Bagaimanakah saya boleh menyelesaikan masalah ini?
Menggunakan TForm::Handle sebagai Window Handle
Penyelesaian terletak pada penggunaan TForm::Handle sebagai pemegang tingkap.
Sampel Pelaksanaan
Berikut ialah contoh yang disesuaikan daripada versi lama 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>
Nota Tambahan
Atas ialah kandungan terperinci Bagaimana untuk Membuat Bingkai OpenGL dalam Borang C Builder Menggunakan TForm:: Handle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!