أريد عرض إطار OpenGL داخل نموذج في C Builder، لكني تواجه مشكلات عند اتباع رمز بدء تشغيل OpenGL المقدم. كيف يمكنني حل هذه المشكلة؟
استخدام TForm::Handle كمقبض نافذة
يكمن الحل في استخدام TForm::Handle باعتباره مقبض النافذة مقبض النافذة.نموذج التنفيذ
إليك مثال مقتبس من إصدار أقدم من C Builder: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;
}
ملاحظات إضافية
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3