Проподают рамки окна при очищении окна (ncurses C)

Рейтинг: 3Ответов: 0Опубликовано: 26.01.2023

Есть окно input в котором происходит ввод данных, после нажатия enter, окно очищается при помощи wclear(input), но пропадают рамки окна.

#include <stdio.h>
#include "ncurses.h"

WINDOW *input;

void writeMsg() {
    while (1) {
        char msg[80];
        wgetstr(input, msg);
        wclear(input);
    }
}

WINDOW *create_newwin(int height, int width, int starty, int startx) {
    WINDOW *local_win;
    local_win = newwin(height, width, starty, startx);

    wattron(local_win,COLOR_PAIR(1));
    wborder(local_win, ' ', ' ', ' ', '-', ' ', ' ', '-', '-');
    wrefresh(local_win);
    wattroff(local_win, COLOR_PAIR(1));

    wrefresh(local_win);

    return local_win;
}

void initNcurses() {
    initscr();
    refresh();
    start_color();
    use_default_colors();
    keypad(stdscr,TRUE);

    init_pair(1, COLOR_GREEN, -1); // Зеленый цвет
    init_pair(2, -1, -1); // Дефолтный цвет
    init_pair(3, COLOR_MAGENTA, -1); // Розовый цвет
    init_pair(4, COLOR_CYAN, -1); // Синий цвет
}

int main() {
    initNcurses();
    input = create_newwin(2, COLS, LINES - 2, 0);
    writeMsg();
    endwin();
    return 0;
}

Ответы

Ответов пока нет.