Как использовать и обновлять панели в ncurseswC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как использовать и обновлять панели в ncursesw

Сообщение Anonymous »

В настоящее время я пишу код на C++ в Ubuntu WSL2, используя заголовок
для создания панелей в ncursesw, так как мне нужны символы Юникода.
Я уже провел пару тестов, результаты которых показаны в таблице ниже:
Изображение

Это код и результат при создании окна с WINDOW* и -lncursesw.
Код:

Код: Выделить всё

#include

int main() {
setlocale(LC_ALL, "");
initscr();
noecho();
cbreak();
refresh();

WINDOW *window {newwin(0, 0, 0, 0)};

box(window, 0, 0);
mvwaddstr(window, 1, 1, "\U0001F600");
wrefresh(window);

getch();
endwin();
}
Результат:
Изображение

Это код и результат при создании окна с помощью PANEL* и -lncursesw.
Код:

Код: Выделить всё

int main() {
setlocale(LC_ALL, "");
initscr();
noecho();
cbreak();

PANEL *panel {new_panel(newwin(0, 0, 0, 0))};

box(panel_window(panel), 0, 0);
mvwaddstr(panel_window(panel), 1, 1, "\U0001F600");
// wrefresh(panel_window(panel));
update_panels();
doupdate();

getch();
endwin();
}
Результат:
Изображение

Однако, если я раскомментирую строку wrefresh(), я получу тот же желаемый результат при использовании WINDOW *. Почему это происходит?

Подробнее здесь: https://stackoverflow.com/questions/694 ... n-ncursesw
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»