Witam,
Stworzyłem takie menu do mojego programu:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ncurses.h>
#include "wszystkie.h"
#define ROZM 50
int main()
{
int t=1,n;
initscr();
mvprintw( 5,10, "Witaj w spis plyt CD/DVD. Prosze o wcisniecie dowolnego klawisza \n" );
noecho();
const char txt1[] = "Dodaj nowy rekord";
const char txt2[] = "Wyswietl baze";
const char txt3[] = "Zapisz baze do pliku";
const char txt4[] = "Wczytaj baze z pliku";
const char txt5[] = "Szukaj rekordu w bazie";
const char txt6[] = "Edytuj rekord";
const char txt7[] = "Usuń rekord";
const char txt8[] = "Wyjscie";
int ktory = 1;
int znak;
const int min_wybor = 1;
const int max_wybor = 8;
do
{
//pobieranie znaku
znak = getch();
clear();
if( znak == 'a' && ktory != min_wybor )
{
ktory--;
}
else if( znak == 'z' && ktory != max_wybor )
{
ktory++;
}
//reakcja
/* if( znak == 10 )
{
switch( ktory )
{
case 1:
//dodaj();
printw("dupa");
break;
case 2:
mvprintw( 0, 0, "Opcja 2" );
break;
}
}*/
//wyswietlanie
switch( ktory )
{
case 1:
mvprintw( 6, 5, txt2 );
mvprintw( 7, 5, txt3 );
mvprintw( 8, 5, txt4 );
mvprintw( 9, 5, txt5 );
mvprintw( 10, 5, txt6 );
mvprintw( 11, 5, txt7 );
mvprintw( 12, 5, txt8 );
attron( A_REVERSE );
mvprintw( 5, 5, txt1 );
break;
case 2:
mvprintw( 5, 5, txt1 );
mvprintw( 7, 5, txt3 );
mvprintw( 8, 5, txt4 );
mvprintw( 9, 5, txt5 );
mvprintw( 10, 5, txt6 );
mvprintw( 11, 5, txt7 );
mvprintw( 12, 5, txt8 );
attron( A_REVERSE );
mvprintw( 6, 5, txt2 );
break;
case 3:
mvprintw( 5, 5, txt1 );
mvprintw( 6, 5, txt2 );
mvprintw( 8, 5, txt4 );
mvprintw( 9, 5, txt5 );
mvprintw( 10, 5, txt6 );
mvprintw( 11, 5, txt7 );
mvprintw( 12, 5, txt8 );
attron( A_REVERSE );
mvprintw( 7, 5, txt3 );
break;
case 4:
mvprintw( 5, 5, txt1 );
mvprintw( 6, 5, txt2 );
mvprintw( 7, 5, txt3 );
mvprintw( 9, 5, txt5 );
mvprintw( 10, 5, txt6 );
mvprintw( 11, 5, txt7 );
mvprintw( 12, 5, txt8 );
attron( A_REVERSE );
mvprintw( 8, 5, txt4 );
break;
case 5:
mvprintw( 5, 5, txt1 );
mvprintw( 6, 5, txt2 );
mvprintw( 7, 5, txt3 );
mvprintw( 8, 5, txt4 );
mvprintw( 10, 5, txt6 );
mvprintw( 11, 5, txt7 );
mvprintw( 12, 5, txt8 );
attron( A_REVERSE );
mvprintw( 9, 5, txt5 );
break;
case 6:
mvprintw( 5, 5, txt1 );
mvprintw( 6, 5, txt2 );
mvprintw( 7, 5, txt3 );
mvprintw( 8, 5, txt4 );
mvprintw( 9, 5, txt5 );
mvprintw( 11, 5, txt7 );
mvprintw( 12, 5, txt8 );
attron( A_REVERSE );
mvprintw( 10, 5, txt6 );
break;
case 7:
mvprintw( 5, 5, txt1 );
mvprintw( 6, 5, txt2 );
mvprintw( 7, 5, txt3 );
mvprintw( 8, 5, txt4 );
mvprintw( 9, 5, txt5 );
mvprintw( 10, 5, txt6 );
mvprintw( 12, 5, txt8 );
attron( A_REVERSE );
mvprintw( 11, 5, txt7 );
break;
case 8:
mvprintw( 5, 5, txt1 );
mvprintw( 6, 5, txt2 );
mvprintw( 7, 5, txt3 );
mvprintw( 8, 5, txt4 );
mvprintw( 9, 5, txt5 );
mvprintw( 10, 5, txt6 );
mvprintw( 11, 5, txt7 );
attron( A_REVERSE );
mvprintw( 12, 5, txt8 );
break;
}
attroff( A_REVERSE );
} while( ktory != 3 || znak != 10 );
move( 9, 0 );
printw( "Koniec programu, przycisnij przycisk..." );
getch();
endwin();
I teraz chodzi mi o to zebym mógł "wchodzić" do poszczególnych pozycji za pomocą wciśnięcia ENTER'a. Kompletnie nie wiem jak się do tego zabrać.