Недавно я программировал простую программу на C++ и GLUT, и я хотел использовать колесо прокрутки для увеличения/уменьшения скорости вращения. Я выяснил, что колесо прокрутки генерирует 3/4 callback (3 для прокрутки вверх 4 для прокрутки вниз). Моя проблема в том, что на окнах я вообще не получаю обратного вызова! левый и средний щелчок мыши генерируют 0,1 и 2, но колесо прокрутки ничего. (Я работаю над Visual Studio 2015 и Windows 10). В моей системе Ubuntu с теми же библиотеками колесо прокрутки генерирует обратные вызовы просто отлично, но ни о каких окнах ничего. вот код, который я использую на glutMouseFunc()Нет обратного вызова колесика прокрутки на glutMouseFunc
void setRotationSpeed(int button, int dir, int x, int y)
{
printf("button is %d\n", button);
if (button == 3)
{
rotationSpeed += 0.1;
}
if (button == 4)
{
if (rotationSpeed > 0.0)
rotationSpeed -= 0.1;
}
}
Я искал без везения. Сначала я подумал, что, возможно, у библиотек, которые я использовал, была проблема, но затем я взял те, которые я использовал на Ubuntu, и у меня была такая же проблема, поэтому, если у кого-то есть что предложить, я буду очень благодарен!
Возможный дубликат [Использование прокрутки мыши в GLUT] (http://stackoverflow.com/questions/14378/using-the-mouse-scrollwheel-in-glut) – BDL
@BDL: Как именно это дубликат? Он не спрашивает, как это сделать; он говорит, что сделал это, и это не сработало. –
Извините, что не ответил ранее ... трудный день (подготовка к кануну нового года) @BDL да, я уже прочитал эту статью и попытался в обоих направлениях, но у меня все еще не было никакого обратного вызова с колеса мыши (в соответствии с if и printf, который у меня есть на моей функции). Также мой друг, у которого есть mac, имеет ту же проблему, что и я ... нет обратного вызова с колеса мыши ... только на ubuntu колесо мыши работает так, как должно было. :/ – Fotis