在ncurses中:
1. A_PROTECT属性有什么作用?网上到处都是,文档只是说:保护模式。那是什么?
2.此外,我想标记用户使用下划线输入字符的区域,但我希望当用户删除或退格时重新显示下划线。有没有这样做的属性,或者我必须手动执行此操作?
答案 0 :(得分:3)
保护模式可能是指某些DEC终端(特别是VT220及其相关)的一个很少使用的功能,称为选择性擦除。
一般的想法是某些文本可以在内部标记为受保护。这不会改变它在屏幕上呈现的方式,但是如此标记的字符单元不会被DECSEL和DECSED(行中选择性擦除和选择性擦除数据)命令擦除。
这通常用于实现类似数据输入表单的内容。字段标题和标记将是受保护的文本,输入字段的数据将不受保护。您可以通过执行选择性擦除来擦除表单的内容以重置它;从而删除数据字段而不是标题。
答案 1 :(得分:1)
保护模式由终端定义我不确定它在现代终端上是否有任何作用。
如果您的终端支持,则会有一个属性“A_UNDERLINE”为字符加下划线。
对于处理输入,您可能需要查看表单库(使用ncurses分发)或cdk(http://invisible-island.net/cdk/)