ncurses multi Farben auf dem Bildschirm

8

Ich möchte ein Menü mit ncurses.h und mehr als einer Farbe erstellen. Ich meine etwas in der Art:

%Vor%

Aber wenn ich init_pair() , attron() und attroff() verwende, ist die Farbe des gesamten Bildschirms gleich und nicht wie ich es erwartet habe.

%Vor%

Was ist falsch an diesem Code?

Danke für jede Antwort!

    
qwertz 07.05.2012, 18:29
quelle

2 Antworten

17

Hier ist eine funktionierende Version:

%Vor%

Anmerkungen:

  • Sie müssen start_color() nach initscr() aufrufen, um Farbe zu verwenden.
  • Sie müssen das COLOR_PAIR -Makro verwenden, um ein Farbpaar zu übergeben, das mit init_pair auf attron et al.
  • gesetzt wurde
  • Sie können das Farbpaar 0 nicht verwenden.
  • Sie müssen nur refresh() einmal aufrufen, und nur wenn Sie möchten, dass Ihre Ausgabe zu diesem Zeitpunkt gesehen wird, und rufen Sie keine Eingabefunktion wie getch() auf.

Das HOWTO ist sehr hilfreich.

    
Michael Slade 07.05.2012, 19:06
quelle
2

Sie müssen Farben initialisieren und das Makro COLOR_PAIR verwenden.

Das Farbpaar 0 ist für Standardfarben reserviert, daher müssen Sie Ihre Indizierung bei 1 starten.

%Vor%     
Morpfh 07.05.2012 19:06
quelle

Tags und Links