用OpenGL显示汉字代码如下:
CFont * pOldFont = CreateFont(-12, DEFAULT_CHARSET, _T("华文仿宋"));
DWORD dword;
GLuint iListBase = glGenLists(1);
glColor3f(1.0f, 1.0f, 0.0f);
glRasterPos2f(1.0f, 1.0f);
//glScalef(10.0f, 10.0f, 10.0f);
for (int i = 0; i < strText.GetLength(); i++)
{
if (IsDBCSLeadByte((BYTE)strText.GetAt(i)))
{
// 想用移位方式获得Unicode代码,不知道对不?
dword = (DWORD)(strText.GetAt(i) << 8) | strText.GetAt(i + 1);
i++;
}
wglUseFontBitmapsW(m_pClientDC->m_hDC, dword, 1, iListBase);
glCallList(iListBase);
}
m_pClientDC->SelectObject(pOldFont);
glDeleteLists(iListBase, 1);创建并选择字体函数CreateFont()没错,我用MultiByteToWideChar()加wglUseFontOutlinesW()试过,能正常显示(还有三维效果),为什么上面这段代码不行?