zoukankan      html  css  js  c++  java
  • Ncurses

    当你需要创建许多窗口时,你很快就会发现它们会变得难以管理。Panel library提供了很好的解决方案。

    Panel 实际上是一个窗口,通过容器 - 栈 来管理,栈顶的 panel 是完全可见的,其它 panel 的位置决定了是否可见。

    创建 panel 的基本流程如下:

    1. 使用 newwin 函数创建一个窗口

    2. 调用 new_panel 创建一个 panel

    3. 调用 update_panels 将 panel 按顺序写入虚拟屏幕,调用 doupdate 让 panel 显示

    4. show_panel、hide_panel、move_panel 用来显示、隐藏、移动 panel

    5. 调用 del_panel 删除 panel

    示例:

     1 #include <ncurses.h>
     2 #include <panel.h>
     3 
     4 #define MAX 3
     5 
     6 int main()
     7 {
     8     WINDOW* my_wins[MAX];
     9     PANEL *my_panels[MAX];
    10     int lines = 10, cols = 40, y = 2, x = 4, i = 0;
    11 
    12     initscr();
    13     cbreak();
    14     noecho();
    15 
    16     int y_offset = 0;
    17     int x_offset = 0;
    18     for (; i < MAX; ++i) {
    19         my_wins[i] = newwin(lines, cols, y + y_offset, x + x_offset);
    20         box(my_wins[i], 0, 0);
    21         y_offset++;
    22         x_offset += 5;
    23 
    24         my_panels[i] = new_panel(my_wins[i]);
    25     }
    26 
    27     update_panels();
    28     doupdate();
    29 
    30     getch();
    31 
    32     for (; i < MAX; ++i) {
    33         del_panel(my_panels[i]);
    34         delwin(my_wins[i]);
    35     }
    36     endwin();
    37 
    38     return 0;
    39 }

    编译 : gcc hello.c -lncurses -lpanel

  • 相关阅读:
    Robot Framework(一)安装笔记
    Postman之获得登录的token,并设置为全局变量
    Postman之简单使用
    Postman之前言
    LoadRunner之使用JSEESIONID访问网站
    Jmeter之逻辑控制器/定时器
    android 解决小米手机上选择照片路径为null情况
    spring MVC学习之二
    Spring MVC学习一
    Struts学习总结(一)
  • 原文地址:https://www.cnblogs.com/jingyg/p/5732244.html
Copyright © 2011-2022 走看看