musketaquid
17-02-2006, 17:15
Halllo!
Ich möchte ein Fenster erstellen, das eine andere Hintergrund Farbe hat als stdscr. Das Problem ist, dass das Fenster nur die Hintergrundfarbe ändert wo etwas verändert wurde, sprich die box() und der string "READY". Also hab ich eine for Schleife laufen lassen (s.Code Fett gedruckt) die alle Felder im Fenster mit Leerzeichen füllt. Aber das kanns doch nicht sein, oder? Hat jemand eine bessere Idee?
Bg von stdscr ist default (transparent)
Bg von fenster soll gelb sein
pop_window(void)
{
/* we pop up this window, when countdown reached zero */
WINDOW *zero_win;
int y;
zero_win = newwin(7, 24, (LINES - 7) / 2, (COLS - 24) / 2);
if (has_colors() == TRUE) {
start_color();
init_pair(1, COLOR_BLACK, COLOR_YELLOW);
wcolor_set(zero_win, 1, 0);
for (y = 1; y < 6; y++)
mvwprintw(zero_win, y, 1, " ");
}
box(zero_win, 0, 0);
mvwprintw(zero_win, 3, 9, "READY!");
wrefresh(zero_win);
getch();
delwin(zero_win);
}
Ps.: Ich hab auch schon ein redrawwin(zero_win) ohne die for Schleife eingebaut. Hat aber nur einen schwarzen Hintergrund im Fenster erzeugt und nicht gelb wie es sein soll. :(
Ich möchte ein Fenster erstellen, das eine andere Hintergrund Farbe hat als stdscr. Das Problem ist, dass das Fenster nur die Hintergrundfarbe ändert wo etwas verändert wurde, sprich die box() und der string "READY". Also hab ich eine for Schleife laufen lassen (s.Code Fett gedruckt) die alle Felder im Fenster mit Leerzeichen füllt. Aber das kanns doch nicht sein, oder? Hat jemand eine bessere Idee?
Bg von stdscr ist default (transparent)
Bg von fenster soll gelb sein
pop_window(void)
{
/* we pop up this window, when countdown reached zero */
WINDOW *zero_win;
int y;
zero_win = newwin(7, 24, (LINES - 7) / 2, (COLS - 24) / 2);
if (has_colors() == TRUE) {
start_color();
init_pair(1, COLOR_BLACK, COLOR_YELLOW);
wcolor_set(zero_win, 1, 0);
for (y = 1; y < 6; y++)
mvwprintw(zero_win, y, 1, " ");
}
box(zero_win, 0, 0);
mvwprintw(zero_win, 3, 9, "READY!");
wrefresh(zero_win);
getch();
delwin(zero_win);
}
Ps.: Ich hab auch schon ein redrawwin(zero_win) ohne die for Schleife eingebaut. Hat aber nur einen schwarzen Hintergrund im Fenster erzeugt und nicht gelb wie es sein soll. :(