1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
#include <form.h>
#include <stdio.h>
#include <panel.h>
#include <string.h>
#include <stdlib.h>
main()
{
FIELD *field[4] ;
WINDOW *win ;
FORM *form ;
int ch, i ;
char mesg[4][10] ;
initscr() ;
cbreak() ;
noecho() ;
field[0] = new_field(1, 8, 1, 1, 0, 0) ;
for (i=0;i<=3;i++)
{
sprintf(mesg[i],"CHAMPS %d",i) ;
field[i]=new_field(1, 8, 1+2*i, 1, 1 ,0) ;
}
form = new_form(field) ;
win = newwin(4, 10, 0, 0) ;
set_form_win(form,win) ;
set_form_sub(form, derwin(win, 4, 10, 0, 0)) ;
post_form(form) ;
wrefresh(win) ;
keypad(win,TRUE) ;
for (i=0;i<=3;i++)
{
set_field_buffer(field[i], 0, mesg[i]) ;
}
while((ch=wgetch(win)) != KEY_F(10))
{ switch(ch)
{ case KEY_DOWN:
form_driver(form, REQ_NEXT_FIELD) ;
form_driver(form, REQ_END_LINE) ;
break ;
case KEY_UP:
form_driver(form, REQ_PREV_FIELD) ;
form_driver(form, REQ_END_LINE) ;
break;
case KEY_HOME:
form_driver(form,REQ_SCR_FLINE) ;
break ;
case KEY_END:
form_driver(form,REQ_SCR_BLINE) ;
break ;
default:
form_driver(form, ch) ;
break ;
}
}
unpost_form(form);
free_form(form);
free_field(field[0]);
free_field(field[1]);
free_field(field[2]);
free_field(field[3]);
endwin(); |
Partager