类似于自绘BUTTON,首先从CButton派生一个类COpenGLBtn,重载它的虚构函数DrawItem,在里面最简单的几句话
void COpenGLBtn::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
glClearColor(1.f,1.f,0.f,1.f);
glClear(GL_COLOR_BUFFER_BIT);
::SwapBuffers (hDC->GetSafeHdc ());
}
如果要做出三维的按钮,可以自己设计模型。其余的设置就是OpenGL配置了。
创建Btn
m_btn.Create (_T("MyOpenGLBtn"),WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW, CRect(10,10,200,50), this, IDC_MYBTN);