簡體   English   中英

如何在ncurses中重新定義顏色對?

[英]How do I redefine a color pair in ncurses?

標題應該說明一切,所以說我創建了一個這樣的顏色對:

init_pair(1, COLOR_RED, COLOR_BLACK);

然后我想重新定義它,像這樣:

init_pair(1, COLOR_GREEN, COLOR_BLUE);

現在這不起作用,但還有其他任何功能允許我這樣做嗎? 或者哎呀,是否有功能,以便我可以使用明確的前景/背景顏色而不使用顏色對?

在此先感謝,如果不夠清楚,請告訴我。


編輯 :嘗試后,你可以使用init_pair重新定義對,我的代碼中的問題是在其他地方。

您可以一次最多定義7個顏色對,如果願意,可以按順序顯示它們。 您只需更改數字並刷新即可。 例如。 (我們將用3來完成) 在這里一下 7的例子的打印輸出

 #include  <curses.h>

 int COLOR_PAIR (int PAIR_NUMBER)

 init_pair(1, COLOR_GREEN, COLOR_RED);
 init_pair(2, COLOR_GREEN, COLOR_BLUE);
 init_pair(3, COLOR_RED, COLOR_BLUE);

 for (i=1, i <=3, i++){
   attroffset(A_BOLD)
   attrset(COLOR_PAIR(i))
   refresh();
   sleep(1);
}

請注意,如果您有很多對並且第二種顏色始終相同或第一種顏色在每對中都是唯一的,您可以使用attron()例如attron(COLOR_PAIR(COLOR_BLUE))將其打開; (這在我們的定義中不起作用)

你可以在這里查看一個attron的例子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM