C opengl汉字消失
我正在尝试在opengl中绘制一些汉字,一个教程给了我以下代码(我修改了一些部分) 输出: 应该是: "滴滴答答呱呱呱刷刷怕" "嘎嘎嘎浅川了" 但我得到了: "滴答答呱呱呱刷刷怕" "嘎嘎嘎浅川了" 如你所见,第二个“滴“从输出中消失。 通过打印调试信息,我发现对wglUseFontBitmapsW()的第二次调用返回false。 根据,我将通过调用GetLastError()在这里得到一个错误描述,但是GetLastError只返回0。 然后我试了一下:C opengl汉字消失,c,windows,opengl,C,Windows,Opengl,我正在尝试在opengl中绘制一些汉字,一个教程给了我以下代码(我修改了一些部分) 输出: 应该是: "滴滴答答呱呱呱刷刷怕" "嘎嘎嘎浅川了" 但我得到了: "滴答答呱呱呱刷刷怕" "嘎嘎嘎浅川了" 如你所见,第二个“滴“从输出中消失。 通过打印调试信息,我发现对wglUseFontBitmapsW()的第二次调用返回false。 根据,我将通过调用GetLastError()在这里得到一个错误描述,但是GetLastError只返回0。 然后我试了一下: if (! wglUseFontBi
if (! wglUseFontBitmapsW(hDC, wstring, 1, base))
wglUseFontBitmapsW(hDC, wstring, 1, base);
这次成功了!
所以我现在不知道我的代码出了什么问题。。。
可承载重量的设置:
#ifdef UNICODE
#undef UNICODE
#endif
#define bool BOOL
#define BITS 32
,根据Nehe的教程进行修改
我在Windows 7下的mingw gcc 4.7.0下编译了这篇文章,使用
L
前缀来确保在文本字符串上使用相同的编码。实际上,我正在开发一个简单的库,它包装了繁琐的opengl和Win32函数以便于使用。这意味着我不能告诉我的用户在任何地方都使用wchar\t而不是简单的char。Anywa我会试试看:>。谢谢~@Owenss:你当然可以告诉你的用户使用wchar\t
。如果你想继续使用那些WGL函数,你必须这样做。
if (! wglUseFontBitmapsW(hDC, wstring, 1, base))
wglUseFontBitmapsW(hDC, wstring, 1, base);
#ifdef UNICODE
#undef UNICODE
#endif
#define bool BOOL
#define BITS 32