0

我试图让窗口光标停留在我的窗口内。我正在使用 freeglut 和 C++ 到目前为止,一切都运行良好,除了我尝试使用 ClipCursor 将光标锁定在我的窗口中的部分之外,它可以自由移动,就像甚至没有调用命令一样。它在我拥有的一个根本不使用过剩的项目中运行良好,但我想尝试过剩。

这是相关的代码:

 int main(int argc, char* argv[])
 {
      glutInit(&argc, argv);
      glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
      glutInitWindowSize(WIDTH,HEIGHT);
      glutInitWindowPosition(50,50);
      glutCreateWindow("Indie Game 01");
      glewInit();
      GLenum err = glewInit();
      if(GLEW_OK != err) {
         cout << "glewInit failed, aborting." << endl;
         exit(1);
      }
      cout << "Status: Using GLEW " << glewGetString(GLEW_VERSION) << endl;
      cout << "OpenGL version " << glGetString(GL_VERSION) << " supported" << endl;

      HWND hwnd;
      hwnd = FindWindow("GLUT","Indie Game 01");
      RECT r;
      GetWindowRect(hwnd,&r);
      ClipCursor(&r);

      init();
      glutDisplayFunc(display);
      glutMouseFunc(mouse);
      glutKeyboardFunc(keyboard);
      glutReshapeFunc(reshape);

      glutMainLoop();
      return 0;
 }

我不明白为什么 ClipCursor 不起作用:/ 非常感谢任何帮助!

4

1 回答 1

2

FindWindow 一定失败了。尝试将 0 作为第一个参数传递。

于 2011-06-07T22:31:16.940 回答