我正在尝试使用此功能在我的简单应用程序中设置标题栏上的信息:
void WindowGL::SetInfoTitleBar(HWND hwnd)
{
char bufor[256];
GetWindowText(hwnd, bufor, 256);
const GLubyte* ver = glGetString(GL_VERSION);
strcat_s(bufor, " | OpenGL ");
strcat_s(bufor, (char*)ver);
const GLubyte* ven = glGetString(GL_VENDOR);
strcat_s(bufor, " | ");
strcat_s(bufor, (char*)ven);
const GLubyte* ren = glGetString(GL_RENDERER);
strcat_s(bufor, " | ");
strcat_s(bufor, (char*)ren);
if (SetWindowText(hwnd, bufor ) == false){
MessageBox(NULL, bufor, bufor, MB_OK | MB_ICONERROR);
}
}
调试时,效果是我得到的消息框包含两个相同的文本(标题栏上有一个);但是当点击OK按钮时,我正确地呈现了白色的应用程序窗口,但标题栏上只有WNDCLASSEX类的窗口名称。
我正在使用VS 2013 Express,赢得7位64位。这段代码来自本书,我正在学习。作者也使用VS 2013(但不是快递)并赢得7(可能是32位版本)。字符集是多字节。请问任何想法如何解决这个问题?