试图将光标剪辑到我的窗口不起作用?

时间:2011-06-07 22:26:13

标签: c++ opengl freeglut

我正试图让窗户光标停留在我的窗口内。我正在使用freeglut和C ++到目前为止,Everything工作得非常好,除了我尝试使用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不能正常工作:/非常感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

FindWindow必定是失败的。尝试传递0作为第一个参数。