0
所以,我的菜單看起來像這樣:變量在子菜單文本,GLUT
typedef struct menuItemStruct {
char* item;
char val;
} menuItemStruct;
static menuItemStruct menu1[] = {
{"Switch on/off", '1'},
{"Accelerate", '2'},
{"Decelerate", '3'},
{"Widen the arc", '4'},
{"Narrow the arc", '5'}
};
int numItensMenu1 = sizeof(menu1)/sizeof(menuItemStruct);
這是我的createMenus:
void criarMenus(void)
{
int pend;
int disp;
int mainmenu;
int i;
int j;
pend=glutCreateMenu(myMenuEsq);
for(i=0; i<numItensMenu1; i++)
{
glutAddMenuEntry(menu1[i].item, i);
}
disp=glutCreateMenu(myMenuDir);
for(i=0; i<numItensMenu2; i++)
{
glutAddMenuEntry(menu2[i].item, i);
}
mainmenu = glutCreateMenu(myMenuEsq);
glutAddSubMenu("Pendulum 1", pend);
glutAddSubMenu("Display", disp);
glutAttachMenu(GLUT_RIGHT_BUTTON);
}
的事情,然而,就是數擺是一個變量,從1到10,所以我希望我的月亮能夠顯示擺1,擺2等,並且每個擺顯示一個子菜單,包括那些你可以看到的子菜單。然而,當我提到這條線時,我輸了:
glutAddSubMenu("Pendulum 1", pend);
我可以用變量替換「1」嗎?例如像這樣:
glutAddSubMenu("Pendulum %i", pendulumNumber, pend);
或者我必須用ifs手動執行所有這些操作嗎?如果我能做到這一點,怎麼樣?因爲上述不起作用,顯然。
我無法檢查它肯定的那一刻,因爲我沒有做擺安置尚未完成,但聽起來loike一個好主意,沒有想到建立一個字符串,我會按照你的建議,謝謝。 – Sheenah 2014-12-03 14:32:07
嘿,雖然有這個問題,即使我在菜單中添加更多的項目,子菜單仍然返回相同的值,我不能分配不同的操作。有什麼想法呢? – Sheenah 2014-12-03 20:16:04
在循環中創建子菜單 – 2014-12-03 21:29:32