curses.h学习笔记

----------------------------------------------------------------------
curses定义的全局变量

    WINDOW *stdscr;        // 默认的标准窗口

    WINDOW *curscr;        // 当前窗口

    WINDOW *newscr;      // 新创建窗口

  int LINES;                      // 当前终端的行数

    int COLS;                       // 当前终端的列数

    int TABSIZE;                  // 制表符长度

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

curses宏定义:

    #define      TRUE    1

    #define      FALSE   0

    #define      ERR(-1)

    #define      OK(0)
    字符属性
        #define      NCURSES_ATTR_SHIFT  8

        #define      NCURSES_BITS(mask,shift)((mask) <<((shift) + NCURSES_ATTR_SHIFT))

        #define      A_NORMAL  0L                                                            // 关闭所有特殊属性,普通模式

        #define      A_ATTRIBUTES  NCURSES_BITS(~(1UL - 1UL),0)  // 打开全部特殊属性

        #define      A_STANDOUT    NCURSES_BITS(1UL,8)                  // 高亮突出显示

        #define      A_UNDERLINE   NCURSES_BITS(1UL,9)                  // 下划线

        #define      A_REVERSE NCURSES_BITS(1UL,10)                        // 反色突出显示

        #define      A_BLINK      NCURSES_BITS(1UL,11)                        // 闪烁

        #define      A_DIM   NCURSES_BITS(1UL,12)                               // 半亮突出显示

        #define      A_BOLDNCURSES_BITS(1UL,13)                                // 加粗
    特殊符号
        ACS_ULCORNER    ┌  ACS_LLCORNER    └ ACS_URCORNER    ┐ ACS_LRCORNER    ┘
        ACS_LTEE        ├  ACS_RTEE        ┤  ACS_BTEE        ┴ ACS_TTEE        ┬
        ACS_HLINE       ─  ACS_VLINE       │  ACS_PLUS        ┼ ACS_S1          
        ACS_S9            ACS_DIAMOND ◆ ACS_CKBOARD ▒ ACS_DEGREE °
        ACS_PLMINUS ±      ACS_BULLET  ·     ACS_UARROW  ^   ACS_BOARD       #
        ACS_LANTERN ␋ ACS_BLOCK       #   ACS_S3            ACS_S7          
        ACS_LEQUAL  ≤ ACS_GEQUAL  ≥  ACS_PI          π      ACS_NEQUAL ≠
        ACS_STERLING    £   ACS_BSSB        ┌  ACS_SSBB        └  ACS_BBSS        ┐
        ACS_SBBS        ┘  ACS_SBSS        ┤  ACS_SSSB        ├ ACS_SSBS        ┴
        ACS_BSSS        ┬  ACS_BSBS        ─  ACS_SBSB        │  ACS_SSSS        ┼
    字符颜色
        #define COLOR_BLACK 0

        #define COLOR_RED       1

        #define COLOR_GREEN 2

        #define COLOR_YELLOW    3

        #define COLOR_BLUE      4

        #define COLOR_MAGENTA   5

        #define COLOR_CYAN      6

        #define COLOR_WHITE 7
    鼠标事件
        #define    BUTTON1_RELEASED         000000000001L       按钮 1 松开
        #define    BUTTON1_PRESSED          000000000002L       按钮 1 按下
        #define    BUTTON1_CLICKED          000000000004L       按钮 1 单击
        #define    BUTTON1_DOUBLE_CLICKED   000000000010L       按钮 1 双击
        #define    BUTTON1_TRIPLE_CLICKED   000000000020L       按钮 1 三击
        #define    BUTTON1_RESERVED_EVENT   000000000040L       按钮 1 保留
        #define    BUTTON2_RELEASED         000000000100L       按钮 2 松开
        #define    BUTTON2_PRESSED          000000000200L       按钮 2 按下
        #define    BUTTON2_CLICKED          000000000400L       按钮 2 单击
        #define    BUTTON2_DOUBLE_CLICKED   000000001000L       按钮 2 双击 
        #define    BUTTON2_TRIPLE_CLICKED   000000002000L       按钮 2 三击
        #define    BUTTON2_RESERVED_EVENT   000000004000L       按钮 2 保留
        #define    BUTTON3_RELEASED         000000010000L       按钮 3 松开
        #define    BUTTON3_PRESSED          000000020000L       按钮 3 按下
        #define    BUTTON3_CLICKED          000000040000L       按钮 3 单击
        #define    BUTTON3_DOUBLE_CLICKED   000000100000L       按钮 3 双击
        #define    BUTTON3_TRIPLE_CLICKED   000000200000L       按钮 3 三击
        #define    BUTTON3_RESERVED_EVENT   000000400000L       按钮 3 保留
        #define    BUTTON4_RELEASED         000001000000L       按钮 4 松开
        #define    BUTTON4_PRESSED          000002000000L       按钮 4 按下
        #define    BUTTON4_CLICKED          000004000000L       按钮 4 单击
        #define    BUTTON4_DOUBLE_CLICKED   000010000000L       按钮 4 双击
        #define    BUTTON4_TRIPLE_CLICKED   000020000000L       按钮 4 三击
        #define    BUTTON4_RESERVED_EVENT   000040000000L       按钮 4 保留
        #define    BUTTON_CTRL              000100000000L       同时 CTRL 键也被按下
        #define    BUTTON_SHIFT             000200000000L       同时 SHIFT 键也被按下
        #define    BUTTON_ALT               000400000000L       同时 ALT 键也被按下
        #define    ALL_MOUSE_EVENTS         000777777777L       接收所有的鼠标消息
        #define    REPORT_MOUSE_POSITION    001000000000L       报告鼠标位置
    键盘:
        #define KEY_CODE_YES    0400        /* A wchar_t contains a key code */
        #define KEY_MIN             0401        /* Minimum curses key */
        #define KEY_BREAK           0401        /* Break key(unreliable) */
        #define KEY_SRESET          0530        /* Soft(partial) reset(unreliable) */
        #define KEY_RESET       0531        /* Reset or hard reset(unreliable) */
        #define KEY_DOWN        0402        /* down-arrow key */
        #define KEY_UP          0403        /* up-arrow key */
        #define KEY_LEFT        0404        /* left-arrow key */
        #define KEY_RIGHT       0405        /* right-arrow key */
        #define KEY_HOME        0406        /* home key */
        #define KEY_BACKSPACE   0407        /* backspace key */
        #define KEY_F0          0410        /* Function keys.  Space for 64 */
        #define KEY_F(n)        (KEY_F0+(n))    /* Value of function key n */
        #define KEY_DL          0510        /* delete-line key */
        #define KEY_IL          0511        /* insert-line key */
        #define KEY_DC          0512        /* delete-character key */
        #define KEY_IC          0513        /* insert-character key */
        #define KEY_EIC         0514        /* sent by rmir or smir in insert mode */
        #define KEY_CLEAR       0515        /* clear-screen or erase key */
        #define KEY_EOS         0516        /* clear-to-end-of-screen key */
        #define KEY_EOL         0517        /* clear-to-end-of-line key */
        #define KEY_SF          0520        /* scroll-forward key */
        #define KEY_SR          0521        /* scroll-backward key */
        #define KEY_NPAGE       0522        /* next-page key */
        #define KEY_PPAGE       0523        /* previous-page key */
        #define KEY_STAB        0524        /* set-tab key */
        #define KEY_CTAB        0525        /* clear-tab key */
        #define KEY_CATAB       0526        /* clear-all-tabs key */
        #define KEY_ENTER       0527        /* enter/send key */
       

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值