函数SetWindowText()不起作用

时间:2016-04-25 16:00:33

标签: windows winapi opengl

我正在尝试使用此功能在我的简单应用程序中设置标题栏上的信息:

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位版本)。字符集是多字节。请问任何想法如何解决这个问题?

0 个答案:

没有答案