Только изменение кода. Добавляем описание функций реакции:
#include "afxwin.h" #include "GL/gl.h" #include "GL/glu.h" #include "GL/glaux.h" void myinit(void); void CALLBACK display(void); void CALLBACK ProcUp(void); void CALLBACK ProcDown(void); void CALLBACK RrocLeft(void); void CALLBACK ProcRight(void);
Связываем функции с нажатием клавиш:
int main(int argc, char** argv) { auxInitDisplayMode (AUX_SINGLE | AUX_RGB ); auxInitPosition (0, 0, 500, 500); auxInitWindow ("1-6"); myinit (); auxKeyFunc(AUX_UP, ProcUp); auxKeyFunc(AUX_DOWN, ProcDown); auxKeyFunc(AUX_LEFT, RrocLeft); auxKeyFunc(AUX_RIGHT, ProcRight); auxMainLoop(display); return(0); }
И реализация:
void CALLBACK ProcUp (void) { MessageBox(0,"Up","Press",MB_ICONINFORMATION); } void CALLBACK ProcDown (void) { MessageBox(0,"Down","Press",MB_ICONINFORMATION); } void CALLBACK RrocLeft(void) { MessageBox(0,"Left","Press",MB_ICONINFORMATION); } void CALLBACK ProcRight(void) { MessageBox(0,"Rigth","Press",MB_ICONINFORMATION); }
Для реакции на клавиши необходимо создать описание и реализацию функций типа CALLBACK. Далее эти функции привязываются к нажатиям клавиш с помощью auxKeyFunc. Важно связать функции и клавиши до вызова auxMainLoop. В auxKeyFunc передается код клавиши и адрес функции.
Делайте всё необходимое и запускайте. Нажимаете на кнопки - появляются диалоговые окна. Класс !!!. Только окно должно быть в фокусе (активным) иначе сообщения получит кто-то другой.
Функции должны быть CALLBACK.
Свяжите функцию с клавишей:
auxKeyFunc (AUX_UP, ProcUp); ...... auxMainLoop (display);