curses中删除子窗口的问题。请求帮助

yrj 2002-11-24 01:41:34
我在主窗口上创建了二个子窗口A和B,他们的父窗口都是根窗口也就是stdsrc窗口B的窗口位置和区域在窗口A中,我现在删除窗口B,但是这样不能将窗口B的字符也清除了,所以我在删除窗口B的之前,先清空了窗口B,但这样会在窗口A上出现了一个黑洞,即使我刷新了窗口A,也没有用,谢谢。
...全文
38 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yrj 2002-11-29
  • 打赏
  • 举报
回复
up
yrj 2002-11-28
  • 打赏
  • 举报
回复
up
wmrwinhap 2002-11-28
  • 打赏
  • 举报
回复
gz
yrj 2002-11-27
  • 打赏
  • 举报
回复
up
yrj 2002-11-25
  • 打赏
  • 举报
回复
这样是可以的,
不过我如果不使用newwin来创建子窗口,而是用
derwin(stdscr,...);
或着subwin(stdscr,..);
就不正常了。谢谢
我将父窗口也用
WINDOW *parentwin=initscr();
获得窗口指针,带入函数也不行
x86 2002-11-25
  • 打赏
  • 举报
回复

#include <curses.h>

int main(int argc, char* argv[]){
WINDOW* win1;
WINDOW* win2;
initscr();
win1 = newwin(10, 60, 1, 1);
win2 = newwin(5, 20, 4, 2);
touchwin(win1);
mvwaddstr(win1, 1, 0, "Window1!");
wrefresh(win1);
touchwin(win2);
mvwaddstr(win2, 1, 0, "Window2!");
wrefresh(win2);
delwin(win2);
touchwin(win1);
wrefresh(win1);
wgetch(win1);
//for(;;);
endwin();
return 0;
}
yrj 2002-11-24
  • 打赏
  • 举报
回复
用了也不行
x86 2002-11-24
  • 打赏
  • 举报
回复
你先touch窗口A再刷新它:
touchwin(A);
wrefresh(A);

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧