Es kann kein ncurses überschreiben (curscr, savewin) tut richtig, weil ich ripoffline () vor
Frage
Ich habe ein C / ncurses Programm, dass ich das Debuggen / aufrechterhalten wird. Dieses Programm macht ripoffline zweimal. Erste, eine Titelleiste zu setzen und das zweite Mal eine Menüleiste am oberen Rand der Seite setzen
Ich brauche ein paar Menüs Dropdown so ich den Bildschirm speichern, bevor ich das Dropdown-Menü. In der InitMenu Funktion, ich habe den folgenden Code:
savewin = newwin (0, 0, 0, 0);
overwrite (curscr, savewin);
wrefresh(savewin)
Das Problem ist, dass savewin mit dem Menü kopiert wird und die Tisch gezogen Linien, aber es wird unter der rippedoff Linie auf den Bildschirm gezeichnet. Diese dupliziert die abgezockt Linien auf dem Bildschirm.
Realisierung Nur wo das Problem mir eine Weile gedauert. Nun, ich habe keine Ahnung, wie man es beheben. Im Idealfall würde Ich mag curscr kopieren, ohne den Tisch gezogen Linien savewin. Irgendwelche Ideen?
Lösung
curscr
ist der Inhalt des physischen Bildschirm, so ist es natürlich die abgerissenen Linien enthält.
Sie können stattdessen stdscr
verwenden, welche nicht. Sie könnten auch versuchen copywin
statt overwrite
mit -. Es wird Sie mehr Kontrolle, einschließlich so dass Sie an einer anderen Stelle auf dem Quellfenster Kopieren starten