już mi się udało zainstalować pdcurses
Napisałem taki prosty kod pod pdcurses, wzorując się na przykładowym kodzie z neta, ale nie wiem, co muszę zrobić, żeby zadziałał mi tak, jakbym chciał, to znaczy:
- na początku podświetlił (zmienił # na inny symbol, użył koloru lub coś w tym stylu) znak pierwszy [1,1] w lewym, górnym rogu
- strzałkami można się było poruszać i zmieniać wybrany element tablicy
- enterem edytować wartość (ale to już później)
#include <curses.h>
#include <math.h>
int main (void)
{
const ROWS = 7; const COLUMNS = 5;
WINDOW *okno = NULL;
WINDOW *okno1 = NULL, *okno2 = NULL, *okno3 = NULL;
char pressed = '\0';
char tytul1[COLUMNS];
char *tytul2 = "Field [1][1]";
char *tytul2b = "1234567.1234567";
char *tytul3 = "You can use arrows to navigate.";
char *tytul3a = "If you want you can edit the equact value";
char *tytul3b = "by pressing Enter. Use Escape to exit.";
int i;
for (i=0;i<COLUMNS;i++) //write string #####
{
tytul1[i] = '#';
}
tytul1[COLUMNS]=(char)0; //(char)0 is terminator of string
initscr (); //BEGIN THE WINDOWS APPLICATION
noecho ();
okno = newwin (24, 79, 0, 0); //create windows
okno1 = subwin (okno, (ROWS+2), (COLUMNS+2), 1, 2); //height, width, vertical position, horizontal position
okno2 = subwin (okno, 6, 19, 10, 59);
okno3 = subwin (okno, 7, 45, 16, 33);
wborder (okno, '|', '|', '-', '-', '*', '*', '*', '*'); //create frames
wborder (okno1, '.', '.', '.', '.', '.', '.', '.', '.');
wborder (okno2, 'o', 'o', 'o', 'o', 'o', 'o', 'o', 'o');
wborder (okno3, '*', '*', '*', '*', '*', '*', '*', '*');
for (i=0;i<ROWS;i++) //fill the windows
{
mvwaddstr (okno1, (i+1), 1, tytul1);
}
mvwaddstr (okno2, 2, 2, tytul2);
mvwaddstr (okno2, 3, 2, tytul2b);
mvwaddstr (okno3, 2, 2, tytul3);
mvwaddstr (okno3, 3, 2, tytul3a);
mvwaddstr (okno3, 4, 2, tytul3b);
wrefresh (okno);
while ((pressed = mvwgetch (okno3, 2, 30)) <= '\040') //wait until user presses the key
wrefresh (okno3);
endwin (); //END THE WINDOWS APPLICATION
system("pause");
return 0;
}
pozdro!