#c #opengl #freeglut
#c #opengl #freeglut
Вопрос:
Я пытаюсь заставить курсор Windows оставаться внутри моего окна. Я использую freeglut, и C Пока все работает отлично, за исключением той части, где я пытаюсь использовать ClipCursor, чтобы удерживать курсор заблокированным в моем окне, он перемещается свободно, как будто команда даже не была вызвана. Это отлично работало в моем проекте, который вообще не использует glut, но я хотел попробовать glut.
Вот соответствующий код:
int main(int argc, char* argv[])
{
glutInit(amp;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,amp;r);
ClipCursor(amp;r);
init();
glutDisplayFunc(display);
glutMouseFunc(mouse);
glutKeyboardFunc(keyboard);
glutReshapeFunc(reshape);
glutMainLoop();
return 0;
}
Я не понимаю, почему ClipCursor не работает: / любая помощь приветствуется!
Комментарии:
1. Вместо добавления «РЕШЕНО» к заголовку, все, что нужно, это пометить ответ как принятый.
2. Я знаю, но это было решено так быстро, что stack не позволил мне принять ответ
Ответ №1:
Должно быть, сбой в FindWindow. Попробуйте передать 0 в качестве первого параметра.
Комментарии:
1. ого! Это исправлено. Но затем, сразу после того, как я опубликовал это, я понял, что использую freeglut, а не glut. Изменение первого параметра на «freeglut» исправило это: P спасибо! Я одобрю ваш ответ, когда stack позволит мне!