Создание фрейма меню
Перед использованием меню для этого должен быть создан фрейм. Функция make_menu(), показанная здесь, создает фрейм меню.
/* создание фрейма иерархического меню.
1 если фрейм может быть создан
в противном случае 0 */ make_menu(num,menu,keys,count,x,y,border) int num; /* номер меню */ char *menu; /* текст меню */ char *keys; /* горячие клавиши */ int count; /* число альтернатив */ int x,y; /* левый верхний угол */ int border; /* рамка */
register int i,len;
int endx,endy,choice,vmode;
unsigned char *p;
if(num>MAX_FRAME)
printf("Слишком много меню");
return 0;
if((x>24)||(x<0)||(y>79)||(y<0))
printf(" выход за пределы экрана");
return 0;
len=0;
endy=len+2+y;
if((endx+1>24) || (endy+1>79))
printf(" выход за пределы экрана");
return 0;
/* размещение памяти для видео буфера */
/* создание фрейма */
frame[num].endx=endx;
frame[num].endy=endy;
frame[num].menu = (char **) menu;
frame[num].count = count;
return 1;
Вы вызываете make_menu с теми же аргументами, какие используются в popup() кроме номера меню, который должен быть определен в первом аргументе. Этот номер используется для идентификации меню.