如何通过自动换行和ncurses光标前进在屏幕上放置带有属性的字符串?

时间:2018-12-22 06:09:26

标签: ncurses

here所述,add_wchstr函数不会使当前光标位置前进或自动包装。

但是如果我想输出像addwstr这样的文本,但具有格式属性,我应该怎么称呼?

如果ncurses愚蠢地缺少此功能,我考虑手动实现(只需为每个字符调用add_wch并提高光标位置)。但是关键问题是:

如何指示是否需要自动包装?

如何指示一个字符是否显示在2个单元格(全角字符)上,以便我应该正确地调用add_wch两次(或其他任何可以正确显示全智慧字符的替代解决方案)?

如何指示当前光标位置应前进到哪里?

1 个答案:

答案 0 :(得分:1)

您可以设置

  • 带有wattrset/wattr_set的窗口属性,
      

    这些例程可操纵命名窗口的当前属性,      然后适用于写入窗口的所有字符      使用waddch,waddstr和wprintw。属性是      字符,并通过滚动和移入来与字符一起移动-      插入/删除行/字符操作。他们尽可能      显示为对图形表示的适当修改      屏幕上显示的字符。

  • 带有wkbgdset / wbkgdset的背景字符。
      The bkgdset and wbkgdset routines  manipulate  the  background  of  the
    
         

    命名窗口。窗口背景是chtype,由任何com-      属性(即演绎)和一个字符的组合。的      背景的属性部分与所有非空白组合(或)      使用waddch写入窗口的字符。这俩      背景的字符和属性部分与      空白字符。背景成为角色的属性      并通过滚动和插入/删除与字符一起移动      行/字符操作。