荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: HbBdByXc.bbs@bjsing.net (奋斗无止境·爱拼才会赢), 信区: Linux
标  题: [精华] 关于ncurses库的一点笔记
发信站: DQPI (Mon Dec  9 19:56:03 2002)
转信站: SZU!news.tiaozhan.com!news.bjsing.net!DQPI

zz from www.linuxforum.net
---------------------------------------------
WINDDW *curscr: 当前屏幕
WINDOW *stdscr: 标准屏幕------------------------------
终端属性
int baudrate() 此函数返回终端的速度,以bps为单位。
char erasechar() 此函数返回当前删除的字符。
char killchar() 此函数返回当前杀死的字符。
int has_ic()
int has_il() 如果终端具有插入/删除字符的能力,则has_rc() 将返回TRUE 如果终端
具有插入/删除行的能力,则has_il()将返回TRUE,
否则这两个函数将返回ERR。 (注:尚未实现)
char *longname() 此函数所返回的指针允许用户访问当前终端的描述符。
chty petermattrs() (注:此函数尚未实现)
char *termname() 这个函数从用户环境中返回TERM的内容。(尚未实现)
--------------------------------
更新终端
int refresh()
int wrefresh(win)
refersh()将把窗口映像拷贝到终端,而wrefresh(win)将把窗口映像
拷贝到w in,并使它看起来象原来的样子。
int wnoutrefresh(win)
int doupdate()
wnoutrefresh(win)将会只拷贝到窗口win,这意味着在终端上将不进行任何 输出,但是
虚拟屏幕实际上看起来象程序员所希望的那样。doupdate()将输
出到终端上。程序可以改变许多窗口,对每个窗口都调用一次
wnoutrefresh(win),然后再调用一次doupdate()来更新物理屏幕。
int redrawln(win)
int wredrawln(win,bline,blines)
如果在往屏幕上输出新内容时需要清除一些行或者整个屏幕,可以使用这两
个函数。(可能这些行已经被破坏了或者由于其他的原因。)
int touchwin(win)
int touchline(win,start,count)
int wtouchln(win,y,n,changed)
int untouchwln(win)
这些函数通知ncurses整个win窗口已经被改动过了,或者从start直到
start+ count的这些行已经被改动过了。例如,如果用户有一些重叠的窗口
(正如在 example.c中一样),对某个窗口的改动不会影响其他窗口的映像。
wtouchln(.)
将按掀从y开始的n行。如果change的值是TRUE,则这些行被按掀过了,
否则 就还未被按掀过(改变或未改变)。
untouchwin(win) 将把窗口win标记为自上次调用refresh()以来还未被按掀。
int ls_linetouched(win,line)
int ls_wint ouched(win)
通过使用这两个函数,用户可以检查自从上次调用refresh()以来,
第line行 或者窗口win是否已被按掀过。
-------------------------------
视频属性与颜色
ncurses定义了八种颜色,在带有彩色支持的终端上用户可以使用这些颜色。
首先,调用start_color()初始化颜色数据结构,
然后使用has_colors()检查终端权能。
start_color()将初始化COLORS和COLOR_PAIR。
前者是终端所支持的最多的颜色数目,而后者是用户可以定义的色彩对的最大数目。
两个属性可以使用OR操作组合起来。“COLORPAIRS_1COLORS_1”

int color_content(color,t,g,b)

此函数获取color的颜色成份r,g和b。
首先,函数CheckColor调用start_color()初始化颜色,如果当前终端有彩色的话,
则函数has_colors()将返回TRUE。我们检查了这一点以后,调用init_pair(.)
把前景色和背景色组合起来,再调用wattrset(.)为特定的窗口设置这些颜色对。
此外,如果我们使用的是黑白终端,还可以单独使用wattrset(.)来设置属性。
如果要在xterm中获取颜色,我认为最佳方法是使用ansi_xterm,
以及来自MidnightCommander的terminfo项目。用户可以获取ansi_xterm
和MidnightCommander的源代码(mc_x.x.tar.gz),然后编译ansi_xterm,
并对mc_x.x.tar.gz文档中的xterm.ti和vt100.ti使用tic命令。
执行ansi_xterm,把它试验出来

---------------------------------
光标和屏幕坐标

int move(y,x)
int wmove(win,y,x)
move()将移动光标,而wmove(win)则从窗口win中移动光标。对
输入/输出函数来说,还定义了其他的一些宏,在调用特定函数之前,
这些宏可以移动光标。

int curs_set(bf) 这个函数将把光标置为可见或者不可见,如果终端有这个功能
void getyx(win,y,x) getyx(.)将返回当前光标位置。(注意:这是一个宏)
void getparyx(win,y,x)
如果win是个子窗口,getparyx(.)将把该窗口对应父窗口的坐标存储在y和x 则y和x都将
为-1。(注:此函数尚未实现)

void getbegyx(win,y,x)
void getmaxyx(win,y,x)
int getmaxx(win)
int getmaxy(win)
这些函数把窗口win的开始坐标和大小坐标存放在y和x中。
int getsyx(int y,int x)
int setsyx(int y,int x)
getsyx(.)把虚拟屏幕光标存放在y和x中,而setsyx(.)则设置这个坐标。
如果y和x是-1, 用户调用getsyx(.)将会设置leaveok。

------------------------------
滚动

int tscrollok(win,bf)
当光标在屏幕的右下角并且输入了一个字符(或者新的一行)时,如bf为TRUE 则窗口win
中的文本将上滚一行。如果bf为FALSE,则鼠标留在原来的位置上
当滚动特征打开时,使用下面的函数可以滚动窗口中的内容。
(注意:当用户在窗口的最
后一行输入一个新行时,也应该发生相应的滚动操作,
所以在使用scrollok(.)时要十分小心,
否则可能会得到出乎意料的结果。)
int scrol(win)
此函数将使窗口向上滚动一行(数据结构中的行也向上滚动)。
int acrl(n)
int wscrl(win,n)
这两个函数将使屏幕或者窗口win向上向下滚动,滚动方向取决于整数n的值
如果n是正数,则窗口向上滚动n行,否则如果n是负数,则窗口向下滚动n行
int setscrreg(t,b)
int wsetscrreg(win,t,b)
这两个函数设置一个软滚动区。
-------------------------------------
小键盘

WINDOW *newpad(nlines,ncols)
WINDOW *subpad(orlg,nlines,ncols,begy,begx)
int prefresh(pad,pminrow,pmincol,sminrow,smincol,smaxrow,smaxcol)
int pnoutrefresh(pad,pminrow,pmincol,sminrow,smincol,smaxrow,smaxcol)
int pechochar (pad,ch)
----------------------------
软标签

int slk_init(int fmt)
int slk_set(int labnum,char *label,int fmt)
int slk_refresh()
int slk_noutrefresh()
char *slk_label(int labnum)
int slk_clear()
int slk_restore()
int slk_touch()
int slk_attron(chty peattr)
int slk_attrset(chty peattr)
int slk_attroff(chty peattr)
这些函数是与attron(attr)、attrset(attr)和attroft(attr)相对应的,
但它们尚未实现。
------------------------------
int beep()
int flash()
char *unctrl(chty pec)
char *keyname(int c)
int filter()
(注:以上函数尚未实现。)
void use_env(bf)
int putwin(WINDOW *win,FILE*filep)
(注:以上函数尚未实现。)
WINDOW *getwin(FILE*filep)
(注:以上函数尚未实现。)
int delay_output(int ms)
int flushinp()
--------------------------------------
低级访问

int def_prog_mode()
int def_shell)_mode()
int reset_prog_mode()
int reset_shell_mode()
int resetty()
int savetty()
int ripoffline(int line,int (*init)(WINDOW *,int ))
int napms(int ms)
---------------------------------
屏幕转储

int scr_dump(char *filename)
(注:此函数尚未实现。)
int scr_restore(char *filename)
(注:此函数尚未实现。)
int scr_init(char *filename)
(注:此函数尚未实现。)
int scr_set(char *filename)
(注:此函数尚未实现。)
-----------------------------------
Termcap模拟

int tgetent(char *bp,char *name)
int tgetflag(char fd[2])
int tgetnum(char fd[2])
char *tgetstr(char fd[2],char **area)
char tgoto(char *cap,int col,int row)
int tputs(char *str,int offset,int (*putc)())
-------------------------------------------
调试函数

void _init(trace()
void _trace(char *,...)
char *_traceattr(mode)
void traceon()
void traceoff()

-------------------------------------------

8.21.1布尔型权能
变量 权能名称 初始化 描述
auto_left_margin bw bw cub1从最后一列换行到第0列
auto_right_margin am am 终端的边界自动对齐
back_color_erase bce ut 屏幕以背景色清除
can_change ccc cc 终端可以重新定义现有的颜色
ceol_standout_glitch xhp xs 标准输出不会被覆盖所清除(hp)
col_addr_glitch xhpa YA 对hpa/mhpa大写字符而言只作正向移动
cpi_changes_res cpix YF 改变字符间距将会影响解析度
cr_cancels_micro_mode crxm YB 使用cr关闭宏模式
eat_newline_glitch xenl xn 在80列之后将忽略新行(Concept)
erase_overtrike eo eo 可以用空格来删除叠印
generic_type gn gn 通用行类型(如dialup,switch)
hard_copy hc hc 硬拷贝终端
hard_cursor chts HC 光标很难看到
has_meta_key km km 有一个 元键(shift,设置奇偶校验位)
has_print _wheel daisy YC 打印机需要操作员来改变字符集
has_status_line hs hs 有一个额外的“状态行”
hue_lightness_saturation hls hl 终端只使用HLS颜色表示法(Tektronix)
insert_null_glitch in in 插入模式,能识别空行
lpi_changes_res lpix YG 改变行距将影响解析度
memory_above da da 显示可以保留在屏幕上方
memory_below db db 显示可以保留在屏幕下方
move_insert_mode mir mi 在插入模式下可以安全地移动
move_standout_mode msgr ms 在标准输出模式下可以安全地移动
needs_xon_xoff nxon nx 不能填充,需要nxon/xoff
no_esc_ctl_c xsb xb Beehive信号(F1=Escape,F2=CtrlC)
non_rev_rmcup nrrmc NR smcup不能反转rmcup
no_pad_char npc NP 填充字符不存在
non_dest_scroll_region ndscr ND 滚动区不可摧毁
over_strike os os 终端可以叠印
prtr_silent mc5i 5i 打印机不向屏幕回送
row_addr_glitch xvpa YD vhp/mvpa大写字母只能作正向移动
semi_auto_right_margin sam YE 打印在最后一列将导致cr
status_line_esc_ok eslok es 在状态行上可以使用Esc键
dest_tabs_magic_smso xt xt 制表符不可用(Teleray1061)
tilde_glitch hz hz Hazel_tine;不能打印’s
transparent_underline ul ul 下划线字符叠印
xon_coff xon xo 终端使用xon/xoff握手机制
8.21.2数值型权能
变量权能名称初始值描述
bit_image_entwining bitwin Yo 在SYSV中未作描写
buffer_capacity bufsz Ya 在打印前缓存的字节的数目
columns cols co 在一行中列的数目
dot_vert_spacing spinv Yb 在水平方向上点与点的距离,以每英寸多少点为单位
dot_horz_spacing spinh Yc 在垂直方向上针之间的距离,以每英寸多少针为单位
init_tabs it it 每#个空格算一个制表符的位置
label_height lh lh 每个标签多少行
label_width lw lw 每个标签多少列
lines lines li 屏幕或页面上行的数目
lines_of_memory lm lm 如果>lines则表示内存中的行数,0意味着可变
magic_cookie_glitch xmc sg smso或rmso所剩下的空白字符的数目
max_colors colors Co 在屏幕上颜色的最大数目
max_micro_address maddr Yd 在micro_._address中的最大值
max_micro_jump mjump Ye 在parm_._micro中的最大值
max_pairs pairs pa 在屏幕上颜色对的最大数目
micro_col_size mcs Yf 在宏模式中字符间距的大小
micro_line_size mls Yg 在宏模式中行距的大小
no_color_video ncv NC 不能使用彩色的视频属性
number_of_pins npins Yh 在打印头中针的数目
num_labels nlab Nl 屏幕上标签的数量
output_res_char orc Yi 水平解析度,以每行单元数为单位
output_res_line orl Yj 垂直解析度,以每行单元数为单位
output_res_horz_inch orhi Yk 水平解度,以每英寸单元数为单位
output_res_vert_inch orvi Yl 垂直解析度,以每英寸单元数为单位
padding_baud_rate pb pb 在需要cr/nl填充时最低的波特率
virtual_terminal vt vt 虚拟终端号(Unix系统)
width_status_line wsl ws 状态行的第n列

(下面的数值型权能是在SYSVterm结构中定义的,但在man帮助中还没有提供对它们的
描述。我们的解释来自term结构的头文件。)
变量 权能名称 初始值 描述

bit_image_type bitype Yp 位映像设备的类型
buttons btns BT 鼠标按键的数目
max_attributes ma ma 终端能够处理的最多的组合属性
maximum_windows wnum MW 可定义窗口的最大数目
print _rate cps Ym 打印速率,以每秒字符数为单位
wide_char _size widcs Yn 在双宽度模式中字符间距的大小

8.21.3字符串型权能
变量 权能名称 初始值 描述

acs_char s acsc ac 图形字符集对一def=vt100
alt_scancode_esc scesa S8 扫描码模拟的另一种换码(默认值是VT100)
back_tab cbt bt 向后tab(p)
bell bel bl 声音信号(响铃)(p)
bit_image_repeat birep Xy 把位映像单元重复#1#2次(使用tparm)
bit_image_newline binel Zz 移动到位映像的下一行(使用tparm)
bit_image_carriage_return bicr Yv 移动到同一行的开头(使用tparm)
carriage_return cr cr 回车(p*)
change_char _pitch cpi ZA 改变为每英寸#个字符
change_line_pitch lpi ZB 改变为每英寸#行
change_res_horz chr ZC 改变水平解度
change_res_vert cvr ZD 改变垂直解析度
change_scroll_region csr cs 把滚动区改变为从#1行到#2行(VT100)(PG)
char _padding rmp rP 与ip相似,但它用在插入模式中
char _set_names csnm Zy 字符集名称的列表
clear_all_tabs tbc ct 清除所有的制表符停止(p)
clear_margins mgc MC 清除所有的页边
clear_screen clear cl 清除屏幕和home光标(p*)
clr_bol el1 cb 清除到行首
clr_eol el ce 清除到行尾(P)
clr_eos ed cd 清除到显示的末尾(p*)
code_set_init csin ci 多个代码集合的初始化序列
color_names colornm Yw #1号颜色的名称
column_address hpa ch 设置光标列(PG)
command_char acter cmdch CC 在原型中终端可以设置的cmd字符
cursor_address cup cm 屏幕光标移动到#1行#2列(PG)
cursor_down cud1 do 下移一行
cursor_home home ho Home光标(如果没有环的话)
cursor_invisible civis vi 使光标不可见
cursor_left cub1 le 把光标向左移一个空格
cursor_mem_address mrcup CM 内存相对的光标寻址
cursor_normal cnorm ve 使光标以最普通的外形显示(undovs/vi)
cursor_right cuf1 nd 不具有破坏性的空白(光标向右移)
cursor_to_ll ll ll 最后一行,第一列(如果没有环的话)
cursor_up cuu1 up Upline(光标向上移)

cursor_visibl ecvvis vs 使光标可见
define_bit_image_region defbi Yx 定义方形的位映像区(使用tparm)
define_char defc ZE 定义字符集中的某个字符
delete_char acter dch1 dc 删除字符(p*)
delete_line dl1 dl 删除行(p*)
device_type devt dv 显示语言/代码集支持
dis_status_line dsl ds 关闭状态行
display_pc_char dispc S1 显示PC字符
down_half_line hd hd 向下移动半行(向前换1/2行)
ena_acs enacs eA 使能另一个字符集合
end_bit_image_region endbi Yy 结束位映像区(使用tparm)
enter_alt_char set_mode smacs as 开始另一个字符集(p)
enter_am_mode smam SA 打开自动对齐特征
enter_blink_modeblink mb 打开字符闪烁效果
enter_bold_mode bold md 打开粗体(特别亮)模式
enter_ca_mode smcup ti 启动使用环的程序的字符串
enter_delete_mode smdc dm 删除模式(输入)
enter_dim_mode dim mh 打开半亮模式
enter_doublewide_mode swidm ZF 使能双倍宽度模式
enter_draft_quality sdrfq ZG 设置草图效果的打印方式
enter_insert_mode smir im 插入模式(输入)
enter_italics_mode sitm ZH 使能斜体字模式
enter_leftward_mode slm ZI 使能向左回车移动
enter_micro_mode smicm ZJ 使能宏移动功能
enter_near_letter_quality snlq ZK 设置NLQ打印
enter_normal_quality snrmq ZL 设置一般质量的打印方式
enter_pc_char set_mode smpch S2 输入PC字符显示模式
enter_protected_mode prot mp 打开保护模式
enter_reverse_mode rev mr 打开反转视频模式
enter_scancode_mode smsc S4 输入PC扫描码
enter_secure_mode invis mk 打开空白模式(字符不可见)

enter_shadow_mode sshm ZM 使能阴影打印模式
enter_standout_mode smso so 开始标准输出模式
enter_subscript_mode ssubm ZN 使能下标打印
enter_superscript_mode ssupm ZO 使能上标打印
enter_underline_mode smul us 开始下划线模式
enter_upward_mode sum ZP 使能向上回车移动
enter_xon_mode smxon SX 打开xon/xoff握手机制
erase_char s ech ec 删除#1个字符(PG)
exit_alt_char set_mode rmacs ae 终止可选的字符集(P)
exit_am_mode rmam RA 关闭自动对齐方式
exit_attribute_mode sgr0 me 关闭所有属性
exit_ca_mode rmcup te 终止使用环的程序的字符串
exit_delete_mode rmdc ed 终止删除模式
exit_doublewide_mode rwidm ZQ 关闭双倍宽度打印方式
exit_insert_mode rmir ei 结束插入模式
exit_italics_mode ritm ZR 关闭斜体打印模式

exit_leftward_mode rlm ZS 使能右向(普通的)回车移动
exit_micro_mode rmicm ZT 关闭宏移动能力
exit_pc_char set_mode rmpch S3 关闭PC字符显示
exit_scancode_mode rmsc S5 关闭PC扫描码模式
exit_shadow_mode rshm ZU 关闭阴影打印模式
exit_standout_mode rmso se 结束标准输出模式
exit_subscript_mode rsubm ZV 关掉下标打印方式
exit_superscript_mode rsupm ZW 关掉上标打印方式
exit_underline_mode rmul ue 结束下划线模式
exit_upward_mode rum ZX 打开向下(普通的)回车移动
exit_xon_mode rmxon RX 关掉xon/xoff握手机制
flash_screen flash vb 可视响铃(不能移动光标)
form_feed ff ff 硬拷贝终端页面的换页(p*)
from_status_line fsl fs 从状态行返回
init_1string is1 i1 终端初始化字符串
init_2string is2 i2 终端初始化字符串
init_3string is3 i3 终端初始化字符串
init_file if if 所包含的文件名称
init_prog iprog iP 初始化程序的路径名
initialize_color initc Ic 初始化颜色的定义
initialize_pair initp Ip 初始化颜色对
insert_char acter ich1 ic 插入字符(P)
insert_line il1 al 加入一个新的空白行(p*)
insert_padding ip ip 在插入的字符之后再插入填充字符(p*)
key_a1 ka1 K1 小键盘左上方的键
key_a3 ka3 K3 小键盘右上方的键
key_b2 kb2 K2 小键盘中央的键
key_backspace kbs kb 由回退键所发送
key_beg kbeg 1 开始键
key_btab kcbt kB 向右一tab键
key_c1 kc1 K4 小键盘左下角的键
key_c3 kc3 K5 小键盘右下角的键
key_cancel kcan 2 取消键
key_catab ktbc ka 由clear_all_tabs键发送
key_clear kclr kC 由清除屏幕或者删除键发送
key_close kclo 3 关闭键
key_command kcmd 4 命令键
key_copy kcpy 5 拷贝键
key_create kcrt 6 创建键
key_ctab kctab kt 由clear_tab键发送
key_dc kdch1 kD 由删除字符键发送
key_dl kdl1 kL 由删除行键发送
key_down kcud1 kd 由终端向下光标键发送
key_eic krmir kM 在插入模式中由rmir或smir发送
key_end kend 7 结束键
key_enter kent 8 输入/发送键
key_eol kel kE 由clear_to_end_of_line键发送

key_eos ked kS 由clear_to_end_of_screen键发送
key_exit kext 9 退出键
key_find kfnd 0 查找键
key_help khlp %1 帮助键
key_home khome kh 由home键发送
key_ic kich1 kl 由inschar /enterinsmode键发送
key_il kil1 kA 由插入行发送
key_left kcub1 kl 由终端向左键发送
key_ll kll kH 由home_down键发送
key_mark kmrk %2 标记键
key_message kmsg %3 消息键
key_move kmov %4 移动键
key_next knxt %5 下一个键
key_npage knp kN 由下页键发送
key_open kopn %6 打开键
key_options kopt %7 选项键
key_ppage kpp kP 由前页键发送
key_previous kprv %8 前一键
key_print kprt %9 打印键
key_redo krdo %0 redo键
key_refrence kref &1 引用键
key_refresh krfr &2 刷新键
key_replace krpl &3 替换键
key_restart krst &4 重启键
key_resume kres &5 恢复键
key_right kcuf1 kr 由终端向右键发送
key_save ksav &6 保存键
key_sbeg kBEG &9 按下开始键的同时按下shift键
key_scancel kCAN &0 按下取消键的同时按下shift键
key_scommand kCMD *1 按下命令键的同时按下shift键
key_scopy kCPY *2 按下拷贝键的同时按下shift键
key_screate kCRT *3 按下创建键的同时按下shift键
key_sdc kDC *4 按下删除字符键的同时按下shift键
key_sdl kDL *5 按下删除行键的同时按下shift键
key_select kslt *6 选择键
key_send kEND *7 按下结束键的同时按下shift键
key_seol kEOL *8 按下行尾键的同时按下shift键
key_sexit kEXT *9 按下退出键的同时按下shift键
key_sf kind kF 由前滚/下滚键发送
key_sfind kFND *0 按下查找键的同时按下shift键
key_shelp kHLP #1 按下帮助键的同时按下shift键
key_shome kHOM #2 按下Home键的同时按下shift键
key_sic kIC #3 按下插入字符键的同时按下shift键
key_sleft kLFT #4 按下向左键的同时按下shift键
key_smessage kMSG %a 按下消息键的同时按下shift键
key_smove kMOV %b 按下移动键的同时按下shift键
key_snext kNXT %c 按下向后键的同时按下shift键

key_soptions kOPT %d 按下选项键的同时按下shift键
key_spreviousk PRV %e 按下向前键的同时按下shift键
key_sprint kPRT %f 按下打印键的同时按下shift键
key_sr kri kR 由后滚/下滚键发送
key_sredo kRDO %g 按下redo键的同时按下shift键
key_sreplace kRPL %h 按下替换键的同时按下shift键
key_sright kRIT %l 按下向右键的同时按下shift键
key_srsume kRES %j 按下恢复键的同时按下shift键
key_ssave kSAV !1 按下保存键的同时按下shift键
key_ssuspend kSPD !2 按下中断键的同时按下shift键
key_sundo kUND !3 按下取消键的同时按下shift键
key_stab khts kT 由set_tab键发送
key_suspend kspd &7 中断键
key_undo kund &8 取消键
key_up kcuul ku 由终端的向上键发送
keypad_local rmkx ke 不处于“小键盘发送”方式之中
keypad_xmit smkx ks 把终端置为“小键盘发送”方式
lab_f0 lf0 l0 如果不是f0的话,则为功能键f0的标签

lab_f1 lf1 l1 如果不是f1的话,则为功能键f1

的标签
lab_f2 lf2 l2 如果不是f2的话,则为功能键f2

的标签
lab_f3 lf3 l3 如果不是f3的话,则为功能键f3

的标签
lab_f4 lf4 l4 如果不是f4的话,则为功能键f4

的标签
lab_f5 lf5 l5 如果不是f5的话,则为功能键f5

的标签
lab_f6 lf6 l6 如果不是f5的话,则为功能键f6

的标签
lab_f7 lf7 l7 如果不是f7的话,则为功能键f7

的标签
lab_f8 lf8 l8 如果不是f8的话,则为功能键f8

的标签
lab_f9 lf9 l9 如果不是f9的话,则为功能键f9

的标签
lab_f10 lf10 la 如果不是f10的话,则为功能键

f10的标签
label_on smln LO 打开软标签
label_off rmln LF 关闭软标签
meta_off rmm mo 关闭“元模式”
meta_on smm mm 打开“元模式”(8位)
micro_column_address mhpa ZY 近似宏调整的列—地址,
micro_down mcud1 ZZ 近似宏调整的光标—向下
micro_left mcutb1 Za 近似宏调整的光标—向左
micro_right mcuf1 Zb 近似宏调整的光标—向右
micro_row_address mvpa Zc 近似宏调整的行—地址
micro_up mcuu1 Zd 近似宏调整的光标—向上
newline nel nw 新行(行为近似于cr后跟lf)
order_of_pins porder Ze 匹配软件以及打印头中的针
orig_colors oc oc 重置所有的颜色对
orig_pair op op 把默认的颜色对设置为原始的那


pad_char pad pc 填充字符(非空)
parm_dch dch DC 删除#1字符(PG*)
parm_delete_line dl DL 删除#1行(PG*)
parm_down_cursor cud DO 把光标向下移#1行(PG*)
parm_down_micro mcud Zf 近似宏调用的cub

parm_ich ich IC 插入#1个空白符号(PG*)
parm_index indn SF 向上滚动#1行(PG)
parm_insert_line il AL 加入#1个新的空白行(PG*)
parm_left_cursor cub LE 把光标向左移#1个空格(PG)
parm_left_micro mcub Zg 近似宏调整中的cub
parm_right_cursor cuf Rl 把光标向右移#1个空格(PG*)
parm_right_micro mcuf Zh 近似宏调整中的cuf
parm_rindex rin SR 回滚#1行(PG)
parm_up_cursor cuu UP 把光标上移#1行(PG*)
parm_up_micro mcuu Zi 近似宏调整中的cuu
pkey_key pfkey pk 把功能键#1定义为字符#2的类型
pkey_local pfloc pl 把功能键#1定义为执行字符串#2
pkey_xmit pfx px 把功能键#1定义为发送字符串#2
pkey_plab pfxl xl 把功能键#1定义为发送#2,并显

示#3
plab_norm pln pn 编程标签#1,以显示字符串#2
print _screen mc0 ps 打印屏幕内容
prtr_non mc5p pO 打开打印机,打印#1个字节
prtr_off mc4 pf 关闭打印机
prtr_on mc5 po 打开打印机
repeat_char rep rp 把字符#1重复#2次(PG*)
req_for_input rfi RF 输入请求
reset_1string rs1 r1 把终端完全置为sane方式
reset_2string rs2 r2 把终端完全置为sane方式
reset_3string rs3 r3 把终端完全置为sane方式
reset_file rf rf 包含重置字符串的文件名称
restore_cursor rc rc 把光标置为上一个屏幕上的位置
row_address vpa cv 垂直绝对位置(设置行)(PG)
save_cursor sc sc 保存光标位置(P)
scancode_escape scesc S7 为了扫描码模拟按下Esc键
scroll_forward ind sf 把文本向上滚动(P)
scroll_reverse ri sr 把文本向下滚动(P)
select_char _set scs Zj 选择字符集
set0_des_seq s0ds s0 切换到代码集0(EUC集0,ASCII)
set1_des_seq s1ds s1 切换到代码集1
set2_des_seq s2ds s2 切换到代码集2
set3_des_seq s3ds s3 切换到代码集3
set_a_background setab AB 使用ANSI设置背景颜色
set_a_foreground setaf AF 使用ANSI设置前景颜色
set_attributes sgr sa 定义视频属性(PG9)
set_background setb Sb 设置当前背景颜色
set_bottom_margin smgb Zk 设置当前行的底部边界
set_bottom_margin_parm smgbp ZI 从bottomset_color_band的#1行

或#2行设置底行
setcolor Yz 改变#1号色带颜色
set_color_pair scp sp 设置当前颜色对
set_foreground setf Sf 设置当前前景色
set_left_margin smgl ML 设置当前行的左边界
set_left_margin_parm smglp Zm 在#1行(#2行)设置左(右)边界

set_lr_margin smglr ML 设置左右边界
set_page_length slines YZ 把页的长度设置为#1行(使用

tparm)
set_right_margin smgr MR 把右边界设置为当前列
set_right_margin_parm smgrp Zn 把右边界设置为#1列
set_tab hts st 在当前列的所有行设置制表符
set_tb_margin smgtb MT 设置上下边界
set_top_margin smgt Zo 把上边界设置为当前行
set_top_margin_parm smgtp Zp 把上边界设置为#1行
set_WINDOW wind wi 当前窗口是从#1行到#2行,从#3

列到#4列
start_bit_image sbim Zq 开始打印位映像图形
start_char _set_def scsd Zr 开始定义字符集
stop_bit_image rbim Zs 结束打印位映像图形
stop_char _set_def rcsd Zt 结束定义字符集
subscript_char acters subcs Zu 下标字符的列表
superscript_char acters supcs Zv 上标字符的列表
tab ht ta 跳转到下面8个空格硬件的制表

符位置
these_cause_cr docr Zw 这些字符导致CR
to_status_line tsl ts 跳到状态行,第1列
underline_char uc uc 给某字符划下划线,并移过它
up_half_line hu hu 上移半行(反转1/2行)
xoff_char acter coffc XF XON字符
xon_char acter xonc XN XOFF字符

(下面的字符串权能是在SYSVr终端结构中定义的,但在man帮助信息中还

未作描述,对
它们的解释是从终端结构头文件中得到的。)

label_format fln Lf ??
set_clock sclk SC 设置时钟
display_clock dclk DK 显示时钟
remove_clock rmclk RC 删除时钟
create_WINDOW cwin CW把 窗口#1定义为从#2行,#3列到#4

行,#5列
goto_WINDOW wingo WG 跳到窗口#1
hangup hup HU 挂起电话
dial_phone dial DI 拨电话号码#1
quick_dial qdial QD 拨电话号码#1,但不做进度检查
tone tone TO 选择接触声调拨叫
pulse pulse PU 选择脉冲拨叫
flash_hook hook fh 闪光切换分支
fixed_pause pause PA 暂停2~3秒
wait_tone wait WA 等待拨叫声音
user0 u0 u0 用户字符串#0
user1 u1 u1 用户字符串#1
user2 u2 u2 用户字符串#2
user3 u3 u3 用户字符串#3
user4 u4 u4 用户字符串#4
user5 u5 u5 用户字符串#5
user6 u6 u6 用户字符串#6
user7 u7 u7 用户字符串#7
user8 u8 u8 用户字符串#8
user9 u9 u9 用户字符串#9
get_mouse getm Gm surses 应获得按钮事件
key_mouse kmous Km ??
mouse_info minfo Mi 鼠标状态信息
pc_term_options pctrm S6 PC终端选项
req_mouse_pos reqmp RQ 请求鼠标位置报告
zero_motion zerom Zx 后继字符没有移动
---------------------------------------------------------------------
大半年前看ncurses库的笔记
共享一下吧。
另外,谁能介绍个linux下的工作?
现在整天vcvc,郁闷啊
注意:
许多标识为(此函数未完成的)在新版中都已完成!

--
      ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
      ▏错误!                                                        × ▏
      ▏  Windows 发生严重错误,立即请小男孩去吃烧烤!                  ▏
      ▏                          ▁▁▁▁▁                            ▏
      ▏                         |  确定   ▏                          ▏
      ▏                          ▔▔▔▔▔                            ▏
※ 修改:·HbBdByXc 於 12月09日19:56:03 修改本文·[FROM: 127.0.0.1]
※ 来源:·北极星BBS站 bjsing.net·[FROM: 127.0.0.1]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店