看起来您也可以使用\e]12;#XXXXXX\a形式的RGB颜色:#include <stdio.h>#include <unistd.h>void cursor_set_color_rgb(unsigned char red, unsigned char green, unsigned char blue) { printf("\e]12;#%.2x%.2x%.2x\a", red, green, blue); fflush(stdout);}int main(int argc, char **argv) { cursor_set_color_rgb(0xff, 0xff, 0xff); sleep(1); cursor_set_color_rgb(0xff, 0xff, 0x00); sleep(1); cursor_set_color_rgb(0xff, 0x00, 0xff); sleep(1); cursor_set_color_rgb(0x00, 0xff, 0xff); sleep(1); return 0;}I can't find any method of changing the cursor color in ncurses forms library from green to anything else. Googling and searching the manpage for cursor or color hasn't helped. Anyone know how this is done? 解决方案 You can change the color by writing \e]12;COLOR\a or \033]12;COLOR\007, they all the same, here a simple example:#include <stdio.h>#include <unistd.h>void cursor_set_color_string(const char *color) { printf("\e]12;%s\a", color); fflush(stdout);}int main(int argc, char **argv) { cursor_set_color_string("yellow"); sleep(1); cursor_set_color_string("gray"); sleep(1); cursor_set_color_string("blue"); sleep(1); cursor_set_color_string("red"); sleep(1); cursor_set_color_string("brown"); sleep(1); return 0;}Here is a list of the color names: Xterm Colors.It looks like you can also use RGB color in the form \e]12;#XXXXXX\a:#include <stdio.h>#include <unistd.h>void cursor_set_color_rgb(unsigned char red, unsigned char green, unsigned char blue) { printf("\e]12;#%.2x%.2x%.2x\a", red, green, blue); fflush(stdout);}int main(int argc, char **argv) { cursor_set_color_rgb(0xff, 0xff, 0xff); sleep(1); cursor_set_color_rgb(0xff, 0xff, 0x00); sleep(1); cursor_set_color_rgb(0xff, 0x00, 0xff); sleep(1); cursor_set_color_rgb(0x00, 0xff, 0xff); sleep(1); return 0;} 这篇关于如何更改ncurses表单中的光标颜色?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
06-14 15:20