NCURSES 编程 HOWTO

Pradeep Padala

v1.9, 2005-06-20

修订历史
修订 1.92005-06-20修订者:ppadala
许可证已更改为 NCURSES 使用的 MIT 风格许可证。请注意,程序也根据此许可证重新许可。
修订 1.82005-06-17修订者:ppadala
大量更新。添加了参考文献和 Perl 示例。更改了示例。内容中许多语法和文体上的更改。NCURSES 历史的更改。
修订 1.7.12002-06-25修订者:ppadala
添加了用于构建的 README 文件以及从源代码构建的说明。
修订 1.72002-06-25修订者:ppadala
添加了“其他格式”部分,并对程序进行了许多花哨的更改。程序内联已消失。
修订 1.6.12002-02-24修订者:ppadala
删除了旧的变更日志部分,清理了 makefile
修订 1.62002-02-16修订者:ppadala
纠正了许多拼写错误,添加了 ACS 变量部分
修订 1.52002-01-05修订者:ppadala
更改结构以呈现正确的目录
修订 1.3.12001-07-26修订者:ppadala
更正了维护者段落,更正了稳定版本号
修订 1.32001-07-24修订者:ppadala
在主文档(LDP 许可证)和程序(GPL)中添加了版权声明,更正了 printw_example。
修订 1.22001-06-05修订者:ppadala
合并了 ravi 的更改。主要是介绍、菜单、表单、justforfun 部分
修订 1.12001-05-22修订者:ppadala
添加了“关于窗口的说明”部分,添加了 scanw_example。

本文档旨在成为使用 ncurses 及其姊妹库进行编程的“一体化”指南。我们从简单的“Hello World”程序逐步过渡到更复杂的表单操作。假设没有 ncurses 的先验经验。请将意见发送至 此地址


目录
1. 介绍
1.1. 什么是 NCURSES?
1.2. 我们可以用 NCURSES 做什么
1.3. 在哪里获取
1.4. 文档的目的/范围
1.5. 关于程序
1.6. 文档的其他格式
1.7. 致谢
1.8. 愿望清单
1.9. 版权
2. 你好,世界!!!
2.1. 使用 NCURSES 库编译
2.2. 剖析
3. 血淋淋的细节
4. 初始化
4.1. 初始化函数
4.2. raw() 和 cbreak()
4.3. echo() 和 noecho()
4.4. keypad()
4.5. halfdelay()
4.6. 杂项初始化函数
4.7. 一个例子
5. 关于窗口的说明
6. 输出函数
6.1. addch() 函数类
6.2. mvaddch()、waddch() 和 mvwaddch()
6.3. printw() 函数类
6.4. addstr() 函数类
6.5. 注意事项
7. 输入函数
7.1. getch() 函数类
7.2. scanw() 函数类
7.3. getstr() 函数类
7.4. 一些例子
8. 属性
8.1. 细节
8.2. attron() 与 attrset()
8.3. attr_get()
8.4. attr_ 函数
8.5. wattr 函数
8.6. chgat() 函数
9. 窗口
9.1. 基础知识
9.2. 创建窗口!!!
9.3. 解释
9.4. 示例中的其他内容
9.5. 其他边框函数
10. 颜色
10.1. 基础知识
10.2. 更改颜色定义
10.3. 颜色内容
11. 与键盘交互
11.1. 基础知识
11.2. 简单的按键使用示例
12. 与鼠标交互
12.1. 基础知识
12.2. 获取事件
12.3. 整合在一起
12.4. 杂项函数
13. 屏幕操作
13.1. getyx() 函数
13.2. 屏幕转储
13.3. 窗口转储
14. 杂项功能
14.1. curs_set()
14.2. 临时离开 Curses 模式
14.3. ACS_ 变量
15. 其他库
16. 面板库
16.1. 基础知识
16.2. 使用面板库编译
16.3. 面板窗口浏览
16.4. 使用用户指针
16.5. 移动和调整面板大小
16.6. 隐藏和显示面板
16.7. panel_above() 和 panel_below() 函数
17. 菜单库
17.1. 基础知识
17.2. 使用菜单库编译
17.3. 菜单驱动程序:菜单系统的主力
17.4. 菜单窗口
17.5. 滚动菜单
17.6. 多列菜单
17.7. 多值菜单
17.8. 菜单选项
17.9. 有用的用户指针
18. 表单库
18.1. 基础知识
18.2. 使用表单库编译
18.3. 使用字段
18.4. 表单窗口
18.5. 字段验证
18.6. 表单驱动程序:表单系统的主力
19. 工具和小部件库
19.1. CDK (Curses 开发工具包)
19.2. 对话框
19.3. Perl Curses 模块 CURSES::FORM 和 CURSES::WIDGETS
20. 只是为了好玩!!!
20.1. 生命游戏
20.2. 幻方
20.3. 汉诺塔
20.4. 八皇后谜题
20.5. 洗牌
20.6. 打字导师
21. 参考文献