最終更新: mikk_ni3_92 2008年10月30日(木) 10:14:03履歴
現在地 >> メニュー >> 基本編18
INDEX:基本編17 << 基本編18 >> 基本編19
【例】
【例】
INDEX:基本編17 << 基本編18 >> 基本編19
- ポップアップメニューに対応するコールバック関数を登録、定義
- メニューを項目作る
- マウスとの動作と関連づける
【例】
//コールバック関数 void menu(int val) { std::cout <<"name "<< val <<" click!\n"; } ... ... glutCreateMenu(menu); //コールバック登録 glutAddMenuEntry("name 1", 1); //項目と与える引数の設定 glutAddMenuEntry("name 2", 2); glutAddMenuEntry("name 3", 3); glutAttachMenu(GLUT_RIGHT_BUTTON); //マウスの右ボタンでポップアップ ... ...
- サブメニューを作成
- メインメニューにサブメニューを追加
【例】
//メニューコールバック関係 void menu(int val) { ... ... } //サブメニュー1 void sub_menu_1(int val) { ... ... } //サブメニュー2 void sub_menu_2(int val) { ... ... } int MENU_ID[2]; //サブメニュー1 MENU_ID[0] = glutCreateMenu(sub_menu_1); glutAddMenuEntry("sub 1_1", 1); glutAddMenuEntry("sub 1_2", 2); //サブメニュー2 MENU_ID[1] = glutCreateMenu(sub_menu_2); glutAddMenuEntry("sub 2_1", 1); glutAddMenuEntry("sub 2_2", 2); //ここから、メインメニューの並び glutCreateMenu(menu); glutAddSubMenu( "Sub menu part 1", MENU_ID[0] );//サブメニューとして設定 glutAddMenuEntry("name 1", 1); glutAddMenuEntry("name 2", 2); glutAddMenuEntry("name 3", 3); glutAddSubMenu( "Sub menu part 2", MENU_ID[1] );//サブメニューとして設定 glutAttachMenu(GLUT_RIGHT_BUTTON);
- 基本編18::まとめコード1(ポップアップメニュー)
- 基本編18::まとめコード2(サブメニュー)