Bonjour,

Je suis en train de créer une petite interface ncurse pour un programme que je fait pour pouvoir afficher simultanément plusieurs texte dans plusieurs "boites" séparés. J'ai donc crée un ensemble de "window" grâce à ncurse dans lesquelles j'arrive sans soucis à imprimer du texte.

Mon problème est le suivant :

Les bordures de chacunes des boites ne sont pas "solides", j'entend par là que si je fait un print trop long, la bordure de droite sera d'abord mangée, puis le texte reviendra à la ligne et bouffera la bordure de gauche. En gros le texte reviens à la ligne une colone trop tard à droite et une colone trop tôt à gauche ce qui nous donne l'image suivante :


Voici le code si cela peut aider un peu.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
int main(int argc, char *argv[]){
	WINDOW *wlist;
 
	initscr();
	cbreak();	
 
	printw("Press x to exit");
	refresh();
 
	wlist = newwin(23, 38, 1, 1);
	box(wlist, 0, 0);
 
	mvwprintw(wlist, 1, 1, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \n \r xxxxxxxxxxxxxxxxxxxx");	
	mvwprintw(wlist, 21, 1, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
	wrefresh(wlist);
 
	getch();
	endwin();
	return 0;
}
Je rebondit pour demander si il est possible de faire un défilement dans la boite, c'est à dire, j'aurai aimé que une fois la dernière ligne atteinte, on efface la première ligne et on en rajoute une en bas pour pouvoir ecrire les caractère suivant. Comme un défilement quoi.

D'avance merci