You will find links to several OpenGL components at the bottom of my OpenGL
page. Several of them come with source code. I don't recall any that use
TPaintBox, but I think that at least one uses a TPanel.
Personally, I have never been happy with an OpenGL component that inherits a
control that already has a TCanvas component. I created my own control from
TWinControl. I used the ::GetDC and ::ReleaseDC functions to create and
maintain my own device context. That way I have complete control over the
device context, and complete control over how the OpenGL scene is updated.
Existing controls (that inherit TCustomControl) will update the canvas every
time certain windows events occur. I was never able to create a
'flicker-free' OpenGL component from an existing control. Others have, but
there implementations limit the the update rate of the scene.
(a valid e-mail address can be found on my home page)