Ncurses: Pads
Aus Wikibooks
| <<< ncurses-Startseite | ncurses | << Inhaltsverzeichnis |
| < Mausunterstützung | Was fehlt > |
Inhaltsverzeichnis |
Ein Pad (Schreibblock) ist eine Variante des konventionellen ncurses-Fensters. In der Anwendung unterscheidet es sich deutlich von diesem. Pads können größer als der Screen selbst sein und der Programmierer entscheidet erst beim Refresh, welcher Teil des Pads wo sichtbar ist.
[Bearbeiten] Ein Pad erstellen
WINDOW *newpad(int nlines, int ncols);
Bedeutung der Parameter:
nlines, ncols... Anzahl der Pad-Zeilen und -Spalten
[Bearbeiten] Ein Pad refreshen
int prefresh(WINDOW *pad, int pminrow, int pmincol,
int sminrow, int smincol, int smaxrow, int smaxcol);
int pnoutrefresh(WINDOW *pad, int pminrow, int pmincol,
int sminrow, int smincol, int smaxrow, int smaxcol);
Die Pad-Refreshfunktionen haben prinzipiell die selben Aufgaben wie ihre Window-Pendants.
Bedeutung der Parameter:
pminrow, pmincol... Ecke links-oben im Pad (p ... pad).sminrow, smincol, smaxrow, smaxcol... Ecke links-oben, Ecke rechts-unten. Diese Parameter bestimmen die Größe des auf dem Screen angezeigten Pad-Rechtecks, innerhalb dessen der Pad-Inhalt dargestellt wird (s ... screen).
[Bearbeiten] Beispiel
#include <curses.h>
#include <stdlib.h>
WINDOW *pad;
void quit(void)
{
delwin(pad);
endwin();
}
int main(void)
{
initscr();
atexit(quit);
clear();
noecho();
curs_set(0);
cbreak();
keypad(stdscr, 1);
start_color();
init_pair(1, COLOR_YELLOW, COLOR_BLUE);
init_pair(2, COLOR_BLUE, COLOR_WHITE);
pad = newpad(300, 100);
bkgd(COLOR_PAIR(1));
wbkgd(pad, COLOR_PAIR(2));
waddstr(pad, "Zeile 1 \n");
waddstr(pad, "Zeile 2\n");
waddstr(pad, "Diese Zeichenkette befindet sich in Zeile 3\n");
waddstr(pad, "und diese in Zeile 4");
refresh();
prefresh(pad, 0, 0, 3, 3, 10, 30);
getch();
refresh();
prefresh(pad, 2, 2, 12, 2, 20, 45);
while(getch() != KEY_F(1))
{
}
return(0);
}
| Nach dem Programmstart | Nach dem ersten Tastendruck |
|---|---|
| <<< ncurses-Startseite | ncurses | << Inhaltsverzeichnis |
| < Mausunterstützung | Was fehlt > |