📄 ex8_3.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "ex8_3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void _fastcall TForm1::OpenGLDraw()
{
glColor3f(0,0,1);
glBegin(GL_LINES);
glVertex2f(50,10);
glVertex2f(15,-25);
glVertex2f(-60,45);
glEnd();
HDC hDC=wglGetCurrentDC();
SwapBuffers(hDC);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
int PixelFormat;
HDC hDC;
hDC=GetDC(this->Handle);
PIXELFORMATDESCRIPTOR pfd={
sizeof(PIXELFORMATDESCRIPTOR),
1,
PFD_DRAW_TO_WINDOW|
PFD_SUPPORT_OPENGL|
PFD_DOUBLEBUFFER,
PFD_TYPE_RGBA,
24,
0,0,0,0,0,0,
0,0,
0,0,0,0,0,
32,
0,
0,
PFD_MAIN_PLANE,
0,
0,0,
};
PixelFormat=ChoosePixelFormat(hDC,&pfd);
SetPixelFormat(hDC,PixelFormat,&pfd);
hRC=wglCreateContext(hDC);
wglMakeCurrent(hDC,hRC);
w=ClientWidth;
h=ClientHeight;
glClearColor(1.0f,1.0f,1.0f,0.0f);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormResize(TObject *Sender)
{
GLfloat nRange=80.0;
w=ClientWidth;
h=ClientHeight;
if(h==0)
h=1;
if(w<=h)
glOrtho(-nRange,nRange,-nRange*h/w,
nRange*h/w,-nRange,nRange);
else
glOrtho(-nRange*w/h,nRange*w/h,-nRange,
nRange,-nRange,nRange);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormPaint(TObject *Sender)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glFlush();
OpenGLDraw();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
gluDeleteQuadric(Sphere);
wglMakeCurrent(NULL,NULL);
wglDeleteContext(hRC);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -