Witam, problem tkwi w tym iz program nie wypisuje zawartosci w drugim oknie, oto kod programu:
#include <stdlib.h>
#include <stdio.h>
#include <curses.h>
#include <panel.h>
main()
{
WINDOW *okno1, *okno2; // Okna programu
int znak;
initscr(); // Rozpoczecie pracy z biblioteka CURSES
curs_set(0); // Nie wyswietlaj kursora
start_color();
int ktory = 1;
int znak1;
const short int min_wybor = 1;
const short int max_wybor = 3;
const char txt1[] = "Tekst";
const char txt2[] = "Tekst2";
const char txt3[] = "Wyjscie";
okno1 = newwin(LINES, COLS-50, 0, 0);
box(okno1, 0, 0); // Standardowe ramki
mvwprintw(okno1, 4, 2, "%s", "Witamy w sortowaniu shella");
mvwprintw(okno1, 5, 12, "%s", "MENU");
mvwprintw(okno1, LINES-2, 1, "%s", "Spacja konczy program");
wrefresh(okno1);
okno2 = newwin(LINES, 30, 0, COLS-30);
box(okno2, 0, 0);
mvwprintw(okno2, 1, 1, "%s", "Okno nr 2");
wrefresh(okno2);
do
{
//pobieranie znaku
znak1 = wgetch(okno1);
noecho();
if( znak1 == 'a' && ktory != min_wybor )
{
ktory--;
}
else if( znak1 == 'z' && ktory != max_wybor )
{
ktory++;
}
//reakcja
if( znak1 == 10 )
{
switch( ktory )
{
case 1:
mvwprintw(okno2, 2, 1, "Opcja 1",txt2 );
break;
case 2:
mvwprintw(okno2, 1,1, "1234",txt2 );
break;}
}
//wyswietlanie
switch( ktory )
{
case 1:
mvwprintw(okno1, 6, 1, txt2 );
mvwprintw(okno1, 7, 1, txt3 );
wattron(okno1, A_REVERSE );
mvwprintw(okno1, 5, 1, txt1 );
break;
case 2:
mvwprintw(okno1, 5, 1, txt1 );
mvwprintw(okno1, 7, 1, txt3 );
wattron(okno1, A_REVERSE );
mvwprintw(okno1, 6, 1, txt2 );
break;
case 3:
mvwprintw(okno1, 5, 1, txt1 );
mvwprintw(okno1, 6, 1, txt2 );
wattron(okno1, A_REVERSE );
mvwprintw(okno1, 7, 1, txt3 );
break;
}
wattroff(okno1, A_REVERSE );
} while( ktory != 3 || znak1 != 10 );
delwin(okno1); // Usuniecie okien
delwin(okno2);
endwin(); // Koniec pracy z CURSES
return(0);
}
Problem tkwi chyba gdzies tutaj, ale nie jestem pewien:
switch( ktory )
{
case 1:
mvwprintw(okno2, 2, 1, "Opcja 1",txt2 );
break;
case 2:
mvwprintw(okno2, 1,1, "1234",txt2 );
break;}
}
Gdy odwolam sie do pierwszego okna, to wypisuje bez problemu, w drugim nie chce ;/. Z góry dziekuje za pomoc.